Salome HOME
Merge branch 'CPPHighAPI'
[modules/shaper.git] / src / SketcherPrs / SketcherPrs_Tools.h
index b41d8b4982d46787554225e5fb53ac307b5f5e5f..cfc15dbfc6c06cb1dcc2c4cc9be00870963739e6 100644 (file)
@@ -21,6 +21,7 @@
 
 class GeomDataAPI_Point2D;
 class AIS_Dimension;
+class Handle_Prs3d_DimensionAspect;
 
 //#define MyTextHeight 20
 
@@ -28,9 +29,10 @@ class AIS_Dimension;
 class SketcherPrs_ParameterStyleMessage : public Events_Message
 {
 public:
+  /// \enum ParameterStyle lists styles of parameter
   enum ParameterStyle {
-    ParameterValue, /// using symbol with the parameter value
-    ParameterText /// using parameter text
+    ParameterValue, ///< using symbol with the parameter value
+    ParameterText ///< using parameter text
   };
 
 public:
@@ -70,8 +72,14 @@ namespace SketcherPrs_Tools {
     /// Selection mode for line of dimension
     Sel_Dimension_Line,
 
-    /// Selection mode foe text of dimension
-    Sel_Dimension_Text
+    /// Selection mode for text of dimension
+    Sel_Dimension_Text,
+
+    /// Selectiom mode for faces selection on sketch
+    Sel_Sketch_Face,
+
+    /// Selectiom mode for wires selection on sketch
+    Sel_Sketch_Wire
   };
 
   /// Type of angle
@@ -174,6 +182,22 @@ namespace SketcherPrs_Tools {
   /// \param theState a new state
   SKETCHERPRS_EXPORT void sendExpressionShownEvent(const bool& theState);
 
+  /// Creates an aspect to be shown in length/radius dimension presentations
+  /// \return an instance of aspect
+  SKETCHERPRS_EXPORT Handle_Prs3d_DimensionAspect createDimensionAspect();
+
+  /// Update variable aspect parameters (depending on viewer scale)
+  /// \param theDimAspect an aspect to be changed
+  /// \param theDimValue an arrow value
+  /// \param theTextSize an arrow value
+  SKETCHERPRS_EXPORT void updateArrows(Handle_Prs3d_DimensionAspect theDimAspect,
+                                       double theDimValue, double theTextSize);
+
+  /// Throws an exception(in debug mode) and sends a signal about necessity to hide the object
+  /// \param theFeature a feature where AIS presentation is empty
+  /// \param theError a debug error information
+  SKETCHERPRS_EXPORT void sendEmptyPresentationError(ModelAPI_Feature* theFeature,
+                                                     const std::string theError);
 };
 
 #endif