Salome HOME
Added comment
[modules/shaper.git] / src / ConstructionPlugin / ConstructionPlugin_Axis.h
index ef021ba50eb7caad950ef1202ffabed4c5a3aca0..1775300ebda82e65cbdd043fdc84073e78d6eb35 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "ConstructionPlugin.h"
 #include <ModelAPI_Feature.h>
+#include <ModelAPI_Result.h>
 #include <GeomAPI_ICustomPrs.h>
 
 /**\class ConstructionPlugin_Axis
@@ -31,23 +32,30 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
     static const std::string CONSTRUCTION_AXIS_KIND("Axis");
     return CONSTRUCTION_AXIS_KIND;
   }
+
+  /// attribute name for first point
+  inline static const std::string& METHOD()
+  {
+    static const std::string METHOD_ATTR("CreationMethod");
+    return METHOD_ATTR;
+  }
   /// attribute name for first point
   inline static const std::string& POINT_FIRST()
   {
-    static const std::string POINT_ATTR_FIRST("firstPoint");
+    static const std::string POINT_ATTR_FIRST("FirstPoint");
     return POINT_ATTR_FIRST;
   }
   /// attribute name for second point
   inline static const std::string& POINT_SECOND()
   {
-    static const std::string POINT_ATTR_SECOND("secondPoint");
+    static const std::string POINT_ATTR_SECOND("SecondPoint");
     return POINT_ATTR_SECOND;
   }
-  /// default color for an axis
-  inline static const std::string& DEFAULT_COLOR()
+  /// attribute name for second point
+  inline static const std::string& CYLINDRICAL_FACE()
   {
-    static const std::string CONSTRUCTION_AXIS_COLOR("#000000");
-    return CONSTRUCTION_AXIS_COLOR;
+    static const std::string CYLINDRICAL_FACE_ATTR("CylindricalFace");
+    return CYLINDRICAL_FACE_ATTR;
   }
 
   inline static const double MINIMAL_LENGTH() { return 1.e-5; }
@@ -65,7 +73,12 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
   ConstructionPlugin_Axis();
 
   /// Customize presentation of the feature
-  virtual void customisePresentation(AISObjectPtr thePrs);
+  virtual bool customisePresentation(ResultPtr theResult, AISObjectPtr thePrs,
+                                     std::shared_ptr<GeomAPI_ICustomPrs> theDefaultPrs);
+
+ protected:
+  void createAxisByTwoPoints();
+  void createAxisByCylindricalFace();
 };