Salome HOME
Fix the problem with multi-coincidence of points (issue #1143)
[modules/shaper.git] / src / ConstructionPlugin / ConstructionPlugin_Axis.h
index b92e0842c4ed9b595adc017156c5f10a1e458dfd..ffaa95d04ed0614e0a1de31334fdd197250b9544 100644 (file)
@@ -36,28 +36,29 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
   /// attribute name for first point
   inline static const std::string& METHOD()
   {
-    static const std::string METHOD_ATTR("creationMethod");
+    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;
   }
   /// attribute name for second point
   inline static const std::string& CYLINDRICAL_FACE()
   {
-    static const std::string CYLINDRICAL_FACE_ATTR("cylindricalFace");
+    static const std::string CYLINDRICAL_FACE_ATTR("CylindricalFace");
     return CYLINDRICAL_FACE_ATTR;
   }
 
+  /// Returns a minimal length for axis
   inline static const double MINIMAL_LENGTH() { return 1.e-5; }
 
   /// Creates a new part document if needed
@@ -75,6 +76,12 @@ class ConstructionPlugin_Axis : public ModelAPI_Feature, public GeomAPI_ICustomP
   /// Customize presentation of the feature
   virtual bool customisePresentation(ResultPtr theResult, AISObjectPtr thePrs,
                                      std::shared_ptr<GeomAPI_ICustomPrs> theDefaultPrs);
+
+ protected:
+  /// Creates a new axis by two defined points
+  void createAxisByTwoPoints();
+  /// Creates a new axis as copy of cylindrical face axis
+  void createAxisByCylindricalFace();
 };