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 <ModelAPI_Object.h>
14 #include <ModelAPI_Feature.h>
17 class GeomDataAPI_Point2D;
19 #define MyTextHeight 20
21 namespace SketcherPrs_Tools {
23 /// Enumeration with modes for activation of selection custom presentations
25 /// Start of enumeration
28 /// Selection mode for all constraints exclude dimensions
31 /// Selection mode for whole dimension
34 /// Selection mode for line of dimension
37 /// Selection mode foe text of dimension
41 SKETCHERPRS_EXPORT ObjectPtr getResult(ModelAPI_Feature* theFeature,
42 const std::string& theAttrName);
44 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Shape> getShape(ObjectPtr theObject);
46 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Pnt2d> getPoint(ModelAPI_Feature* theFeature,
47 const std::string& theAttrName);
49 SKETCHERPRS_EXPORT std::shared_ptr<GeomAPI_Pnt2d> getProjectionPoint(
50 const FeaturePtr theLine,
51 const std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
53 SKETCHERPRS_EXPORT FeaturePtr getFeatureLine(DataPtr theData,
54 const std::string& theAttribute);
56 /// Obtain the point object from specified constraint parameter
57 SKETCHERPRS_EXPORT std::shared_ptr<GeomDataAPI_Point2D> getFeaturePoint(DataPtr theData,
58 const std::string& theAttribute);
60 SKETCHERPRS_EXPORT double getArrowSize();
62 SKETCHERPRS_EXPORT void setArrowSize(double theSize);