Salome HOME
Renaming Fill in Split : Unit tests
[modules/shaper.git] / src / ConstructionPlugin / ConstructionPlugin_Point.h
index 49db67df9ab6e6a2db8f6707e59fcc6daf50ef51..3ab79c2f39300dfd787dfd9123ea57cef34c85a4 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2017  CEA/DEN, EDF R&D
+// Copyright (C) 2014-2019  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 //
 // You should have received a copy of the GNU Lesser General Public
 // License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-// See http://www.salome-platform.org/ or
-// email : webmaster.salome@opencascade.com<mailto:webmaster.salome@opencascade.com>
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
 
 #ifndef ConstructionPlugin_Point_H_
@@ -82,25 +81,17 @@ public:
     return MY_CREATION_METHOD_ID;
   }
 
-  /// Attribute name for X coordinate.
-  inline static const std::string& X()
-  {
-    static const std::string POINT_ATTR_X("x");
-    return POINT_ATTR_X;
-  }
-
-  /// Attribute name for Y coordinate.
-  inline static const std::string& Y()
+  /// Attribute name for creation method.
+  inline static const std::string& CREATION_METHOD_BY_GEOMETRICAL_PROPERTY()
   {
-    static const std::string POINT_ATTR_Y("y");
-    return POINT_ATTR_Y;
+    static const std::string MY_CREATION_METHOD_ID("by_geometrical_property");
+    return MY_CREATION_METHOD_ID;
   }
 
-  /// Attribute name for Z coordinate.
-  inline static const std::string& Z()
+  inline static const std::string& POINT3D()
   {
-    static const std::string POINT_ATTR_Z("z");
-    return POINT_ATTR_Z;
+    static const std::string POINT_ATTR("point3d");
+    return POINT_ATTR;
   }
 
   /// Attribute name for selected edge.
@@ -292,6 +283,41 @@ public:
     return ATTR_ID;
   }
 
+  /// Attribute name for property type.
+  inline static const std::string& GEOMETRICAL_PROPERTY_TYPE()
+  {
+    static const std::string ATTR_ID("geometrical_property_type");
+    return ATTR_ID;
+  }
+
+  /// Attribute name for property type by center of gravity.
+  inline static const std::string& GEOMETRICAL_PROPERTY_TYPE_BY_CENTER_OF_GRAVITY()
+  {
+    static const std::string PROPERTY_TYPE("geometrical_property_type_by_center_of_gravity");
+    return PROPERTY_TYPE;
+  }
+
+  /// Attribute name for property type by center of circle.
+  inline static const std::string& GEOMETRICAL_PROPERTY_TYPE_BY_CENTER_OF_CIRCLE()
+  {
+    static const std::string PROPERTY_TYPE("geometrical_property_type_by_center_of_circle");
+    return PROPERTY_TYPE;
+  }
+
+  /// Attribute name for selected object for center of gravity.
+  inline static const std::string& OBJECT_FOR_CENTER_OF_GRAVITY()
+  {
+    static const std::string ATTR_ID("object_for_center_of_gravity");
+    return ATTR_ID;
+  }
+
+  /// Attribute name for selected object for center of cricle.
+  inline static const std::string& OBJECT_FOR_CENTER_OF_CIRCLE()
+  {
+    static const std::string ATTR_ID("object_for_center_of_circle");
+    return ATTR_ID;
+  }
+
   /// Creates a new part document if needed.
   CONSTRUCTIONPLUGIN_EXPORT virtual void execute();
 
@@ -316,6 +342,8 @@ private:
   std::shared_ptr<GeomAPI_Vertex> createByLinesIntersection();
   std::list<std::shared_ptr<GeomAPI_Vertex> > createByLineAndPlaneIntersection();
   std::shared_ptr<GeomAPI_Vertex> createByPlanesIntersection();
+  std::shared_ptr<GeomAPI_Vertex> createByCenterOfGravity();
+  std::shared_ptr<GeomAPI_Vertex> createByCenterOfCircle();
 };
 
 #endif