/////////////////////////////////////////////////////////////////////////////// // 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 _DbBlockPolarParameter_h_Included_ #define _DbBlockPolarParameter_h_Included_ #include "DbBlock2PtParameter.h" #include "DbBlockParamValueSet.h" class OdDbBlockPolarGrip; typedef OdSmartPtrOdDbBlockPolarGripPtr; /** \details 2 point block parameter providing distance and angle for the OdDbBlockPolarStretchAction */ class DYNBLOCKS_EXPORT OdDbBlockPolarParameter : public OdDbBlock2PtParameter { public: ODDB_EVAL_DECLARE_MEMBERS(OdDbBlockPolarParameter); /** \details Default consructor. */ OdDbBlockPolarParameter(); /** \details Returns angle parameter value name. */ OdString angleName() const; /** \details Sets angle parameter value name. */ void setAngleName(const OdString&); /** \details Returns angle parameter value description (tooltip). */ OdString angleDescription() const; /** \details Sets angle parameter value description (tooltip). */ void setAngleDescription(const OdString&); /** \details Returns angle parameter value limitations. */ OdDbBlockParamValueSetPtr angleValueSet() const; /** \details Sets angle parameter value limitations. */ void setAngleValueSet(class OdDbBlockParamValueSet const&); /** \details Returns distance parameter value name. */ OdString distanceName() const; /** \details Sets distance parameter value name. */ void setDistanceName(const OdString&); /** \details Returns distance parameter value description (tooltip). */ OdString distanceDescription() const; /** \details Sets distance parameter value description (tooltip). */ void setDistanceDescription(const OdString&); /** \details Returns distance parameter value limitations. */ OdDbBlockParamValueSetPtr distanceValueSet() const; /** \details Sets distance parameter value limitations. */ void setDistanceValueSet(const OdDbBlockParamValueSet&); /** \details Returns the grip point associated with this parameter */ OdDbBlockPolarGripPtr getAssociatedPolarGrip(OdDbBlockParameter::ParameterComponent, OdDb::OpenMode = OdDb::kForRead); /** \details Returns the offset base point to calculate angles from (by default it is a basePoint() + OdGeVector3d::kXAxis * 10) */ OdGePoint3d baseAnglePoint() const; /** \details Returns the offset angle for this parameter (defined by the baseAnglePoint(), 0 by default) */ double baseAngle() const; /** \details Returns the label offset for the parameter in the block editor */ double offset(); /** \details Sets the label offset for the parameter in the block editor */ void setOffset(double); /** \details Sets the updated angle parameter value */ void setUpdatedAngle(double); /** \details Sets the updated distance parameter value */ void setUpdatedDistance(double); }; typedef OdSmartPtr OdDbBlockPolarParameterPtr; #endif //_DbBlockPolarParameter_h_Included_