Salome HOME
The flushCreated/flushUpdated are obsolete and nobody uses them.
[modules/shaper.git] / src / ConstructionPlugin / ConstructionPlugin_Axis.h
index 81e1b02b3749144fa9cea3a76c977110708efa4a..473d3e3524e18f86435d88e3e9df969656fb4a29 100644 (file)
 #include <ModelAPI_Feature.h>
 #include <GeomAPI_ICustomPrs.h>
 
-
-/// Point kind
-const std::string CONSTRUCTION_AXIS_KIND("Axis");
-
-/// attribute name for first point
-const std::string POINT_ATTR_FIRST = "firstPoint";
-
-/// attribute name for second point
-const std::string POINT_ATTR_SECOND = "secondPoint";
-
-#define CONSTRUCTION_AXIS_COLOR "#000000"
-
 /**\class ConstructionPlugin_Axis
  * \ingroup Plugins
  * \brief Feature for creation of the new axis in PartSet.
@@ -33,10 +21,50 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
   /// Returns the kind of a feature
   CONSTRUCTIONPLUGIN_EXPORT virtual const std::string& getKind()
   {
-    static std::string MY_KIND = CONSTRUCTION_AXIS_KIND;
+    static std::string MY_KIND = ConstructionPlugin_Axis::ID();
     return MY_KIND;
   }
 
+  /// Axis kind
+  inline static const std::string& ID()
+  {
+    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");
+    return POINT_ATTR_FIRST;
+  }
+  /// attribute name for second point
+  inline static const std::string& POINT_SECOND()
+  {
+    static const std::string POINT_ATTR_SECOND("secondPoint");
+    return POINT_ATTR_SECOND;
+  }
+  /// attribute name for second point
+  inline static const std::string& CYLINDRICAL_FACE()
+  {
+    static const std::string CYLINDRICAL_FACE_ATTR("cylindricalFace");
+    return CYLINDRICAL_FACE_ATTR;
+  }
+  /// default color for an axis
+  inline static const std::string& DEFAULT_COLOR()
+  {
+    static const std::string CONSTRUCTION_AXIS_COLOR("#000000");
+    return CONSTRUCTION_AXIS_COLOR;
+  }
+
+  inline static const double MINIMAL_LENGTH() { return 1.e-5; }
+
   /// Creates a new part document if needed
   CONSTRUCTIONPLUGIN_EXPORT virtual void execute();
 
@@ -54,4 +82,4 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
 };
 
 
-#endif
\ No newline at end of file
+#endif