Salome HOME
Fix solvespace version number in environment.
[modules/shaper.git] / src / GeomAlgoAPI / GeomAlgoAPI_EdgeBuilder.h
index 1db144ed1d2658e6d2caa3daa85cf09986510321..ffd042b4c52c2e7a6a967b69a87471a2e199e6ca 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        GeomAlgoAPI_EdgeBuilder.h
 // Created:     23 Apr 2014
 // Author:      Mikhail PONIKAROV
@@ -9,7 +11,7 @@
 #include <GeomAPI_Edge.h>
 #include <GeomAPI_Pnt.h>
 #include <GeomAPI_Dir.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 /**\class GeomAlgoAPI_EdgeBuilder
  * \ingroup DataAlgo
 class GEOMALGOAPI_EXPORT GeomAlgoAPI_EdgeBuilder
 {
  public:
-  /// Creates linear edge by two points
-  static boost::shared_ptr<GeomAPI_Edge> line(boost::shared_ptr<GeomAPI_Pnt> theStart,
-                                              boost::shared_ptr<GeomAPI_Pnt> theEnd);
+  /// Creates linear edge by two points.
+  /// \param theStart a first point of an edge
+  /// \param theEnd an end point of an edge
+  static std::shared_ptr<GeomAPI_Edge> line(std::shared_ptr<GeomAPI_Pnt> theStart,
+                                            std::shared_ptr<GeomAPI_Pnt> theEnd);
+  /// Creates edge - axis of the given cylindrical face. The result axis edge is infinite
+  static std::shared_ptr<GeomAPI_Edge> cylinderAxis(
+    std::shared_ptr<GeomAPI_Shape> theCylindricalFace);
 
   /// Creates linear edge in a form of a circle by a point and a circle radius
-  static boost::shared_ptr<GeomAPI_Edge> lineCircle(boost::shared_ptr<GeomAPI_Pnt> theCenter,
-                                                    boost::shared_ptr<GeomAPI_Dir> theNormal,
+  static std::shared_ptr<GeomAPI_Edge> lineCircle(std::shared_ptr<GeomAPI_Pnt> theCenter,
+                                                    std::shared_ptr<GeomAPI_Dir> theNormal,
                                                     double theRadius);
 
   /// Creates linear edge in a form of a circle arc by a three points
-  static boost::shared_ptr<GeomAPI_Edge> lineCircleArc(boost::shared_ptr<GeomAPI_Pnt> theCenter,
-                                                       boost::shared_ptr<GeomAPI_Pnt> theStartPoint,
-                                                       boost::shared_ptr<GeomAPI_Pnt> theEndPoint,
-                                                       boost::shared_ptr<GeomAPI_Dir> theNormal);
+  static std::shared_ptr<GeomAPI_Edge> lineCircleArc(std::shared_ptr<GeomAPI_Pnt> theCenter,
+                                                       std::shared_ptr<GeomAPI_Pnt> theStartPoint,
+                                                       std::shared_ptr<GeomAPI_Pnt> theEndPoint,
+                                                       std::shared_ptr<GeomAPI_Dir> theNormal);
 };
 
 #endif