1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: SketcherPrs_Tools.h
4 // Created: 10 March 2015
5 // Author: Vitaly SMETANNIKOV
7 #ifndef SketcherPrs_Tools_H
8 #define SketcherPrs_Tools_H
10 #include "SketcherPrs.h"
11 #include <GeomAPI_Shape.h>
12 #include <GeomAPI_Pnt2d.h>
13 #include <GeomAPI_Ax3.h>
14 #include <ModelAPI_Object.h>
15 #include <ModelAPI_Feature.h>
18 class GeomDataAPI_Point2D;
20 #define MyTextHeight 20
22 namespace SketcherPrs_Tools {
24 /// Enumeration with modes for activation of selection custom presentations
26 /// Start of enumeration
29 /// Selection mode for all constraints exclude dimensions
32 /// Selection mode for whole dimension
35 /// Selection mode for line of dimension
38 /// Selection mode foe text of dimension
42 SKETCHERPRS_EXPORT ObjectPtr getResult(ModelAPI_Feature* theFeature,
43 const std::string& theAttrName);
45 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Shape> getShape(ObjectPtr theObject);
47 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Pnt2d> getPoint(ModelAPI_Feature* theFeature,
48 const std::string& theAttrName);
50 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Pnt2d> getProjectionPoint(
51 const FeaturePtr theLine,
52 const std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
54 SKETCHERPRS_EXPORT FeaturePtr getFeatureLine(DataPtr theData,
55 const std::string& theAttribute);
57 /// Obtain the point object from specified constraint parameter
58 SKETCHERPRS_EXPORT std::shared_ptr<GeomDataAPI_Point2D> getFeaturePoint(DataPtr theData,
59 const std::string& theAttribute);
61 SKETCHERPRS_EXPORT double getArrowSize();
63 SKETCHERPRS_EXPORT void setArrowSize(double theSize);
65 SKETCHERPRS_EXPORT double getFlyoutDistance(const ModelAPI_Feature* theConstraint);
67 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Pnt> getAnchorPoint(
68 const ModelAPI_Feature* theConstraint,
69 const std::shared_ptr<GeomAPI_Ax3>& thePlane);