X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_Tools.h;h=b2ed89c5bdc56689593a691628fc3dc9603c2df8;hb=2452f6e679a2c0a4f261dac25e4b6592f0a540c1;hp=5a932956044589e7e6194be81e4eb42d59167d82;hpb=694482299ca580d780c221cc6a3e7574e59fd2c3;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_Tools.h b/src/SketcherPrs/SketcherPrs_Tools.h index 5a9329560..b2ed89c5b 100644 --- a/src/SketcherPrs/SketcherPrs_Tools.h +++ b/src/SketcherPrs/SketcherPrs_Tools.h @@ -8,20 +8,65 @@ #define SketcherPrs_Tools_H #include "SketcherPrs.h" -#include +#include #include +#include +#include +#include #include -class SketchPlugin_Constraint; +class GeomDataAPI_Point2D; + +#define MyTextHeight 20 namespace SketcherPrs_Tools { - std::shared_ptr getLine(SketchPlugin_Constraint* theFeature, - const std::string& theAttrName); +/// Enumeration with modes for activation of selection custom presentations +enum SelectionModes { + /// Start of enumeration + Sel_Mode_First = 100, + + /// Selection mode for all constraints exclude dimensions + Sel_Constraint, + + /// Selection mode for whole dimension + Sel_Dimension_All, + + /// Selection mode for line of dimension + Sel_Dimension_Line, + + /// Selection mode foe text of dimension + Sel_Dimension_Text +}; + + SKETCHERPRS_EXPORT ObjectPtr getResult(ModelAPI_Feature* theFeature, + const std::string& theAttrName); + + SKETCHERPRS_EXPORT std::shared_ptr getShape(ObjectPtr theObject); - std::shared_ptr getPoint(SketchPlugin_Constraint* theFeature, + SKETCHERPRS_EXPORT std::shared_ptr getPoint(ModelAPI_Feature* theFeature, const std::string& theAttrName); + SKETCHERPRS_EXPORT std::shared_ptr getProjectionPoint( + const FeaturePtr theLine, + const std::shared_ptr& thePoint); + + SKETCHERPRS_EXPORT FeaturePtr getFeatureLine(DataPtr theData, + const std::string& theAttribute); + + /// Obtain the point object from specified constraint parameter + SKETCHERPRS_EXPORT std::shared_ptr getFeaturePoint(DataPtr theData, + const std::string& theAttribute); + + SKETCHERPRS_EXPORT double getArrowSize(); + + SKETCHERPRS_EXPORT void setArrowSize(double theSize); + + SKETCHERPRS_EXPORT double getFlyoutDistance(const ModelAPI_Feature* theConstraint); + + SKETCHERPRS_EXPORT std::shared_ptr getAnchorPoint( + const ModelAPI_Feature* theConstraint, + const std::shared_ptr& thePlane); }; -#endif \ No newline at end of file +#endif