/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef _DbBlockFlipParameter_h_Included_ #define _DbBlockFlipParameter_h_Included_ #include "DbBlock2PtParameter.h" class OdDbBlockFlipGrip; typedef OdSmartPtr OdDbBlockFlipGripPtr; /** \details Block parameter representing block flipping (mirroring) state. Flipping is done in the OdDbBlockFlipAction, against the line defined by this parameter base and end points. OdDbBlockFlipAction is the only valid action for this parameter. */ class DYNBLOCKS_EXPORT OdDbBlockFlipParameter : public OdDbBlock2PtParameter { public: ODDB_EVAL_DECLARE_MEMBERS(OdDbBlockFlipParameter); /** \details Default constructor. */ OdDbBlockFlipParameter(); /** \details Enumeration representing possible states of the parameter. */ enum FlipState { NotFlipped = 0, //< Base parameter state Flipped //< Flipped parameter state }; /** \details Returns this parameter flip state in the representation block */ FlipState flipState() const; /** \details Sets this parameter flip state in the representation block */ void setFlipState(FlipState); /** \details Returns this parameter updated flip state at runtime */ FlipState updatedFlipState() const; /** \details Sets this parameter updated flip state at runtime */ void setUpdatedFlipState(FlipState); /** \details Returns this parameter value name */ OdString flipLabel() const; /** \details Sets this parameter value name */ void setFlipLabel(const OdString &); /** \details Returns this parameter value description (tooltip) */ OdString flipLabelDescription()const; /** \details Sets this parameter value description (tooltip) */ void setFlipLabelDescription(const OdString &); /** \details Returns this parameter base (not flipped) state name */ OdString baseStateLabel() const; /** \details Sets this parameter base (not flipped) state name */ void setBaseStateLabel(const OdString &); /** \details Returns this parameter flipped state name */ OdString flippedStateLabel()const; /** \details Sets this parameter flipped state name */ void setFlippedStateLabel(const OdString &); /** \details Returns this parameter label location in the block editor */ OdGePoint3d definitionLabelPoint() const; /** \details Sets this parameter label location in the block editor */ void setDefinitionLabelPoint(const OdGePoint3d &); /** \details Returns grip point associated with this parameter */ OdDbBlockFlipGripPtr getAssociatedFlipGrip(OdDb::OpenMode = OdDb::kForRead); /** \details Notification function called after the graph evaluation. \param nodeIsActive [in] True if and only if this Node object has been activated. \remarks Called by OdDbEvalGraph::evaluate(). In this function current flip state is set to updated flip state at the end of graph evaluation. */ virtual void graphEvalEnd(bool); }; typedef OdSmartPtrOdDbBlockFlipParameterPtr; #endif // _DbBlockFlipParameter_h_Included_