Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / GeomAPI / GeomAPI_Edge.h
index 6814bb68777cce3c2f8000735a97b3989d45933d..1ecbde0fc6797b1c08beda0b7377ca23e34b6171 100644 (file)
@@ -1,3 +1,5 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
 // File:        GeomAPI_Edge.hxx
 // Created:     24 Jul 2014
 // Author:      Artem ZHIDKOV
@@ -9,6 +11,7 @@
 
 class GeomAPI_Pnt;
 class GeomAPI_Circ;
+class GeomAPI_Lin;
 
 /**\class GeomAPI_Edge
 * \ingroup DataModel
@@ -22,7 +25,7 @@ public:
    GeomAPI_Edge();
 
    /// Creation of edge by the edge-shape
-   GeomAPI_Edge(const boost::shared_ptr<GeomAPI_Shape>& theShape);
+   GeomAPI_Edge(const std::shared_ptr<GeomAPI_Shape>& theShape);
 
   /// Verifies that the edge is a line
   bool isLine() const;
@@ -34,13 +37,19 @@ public:
   bool isArc() const;
 
   /// Returns the first vertex coordinates of the edge 
-  boost::shared_ptr<GeomAPI_Pnt> firstPoint();
+  std::shared_ptr<GeomAPI_Pnt> firstPoint();
 
   /// Returns the Last vertex coordinates of the edge 
-  boost::shared_ptr<GeomAPI_Pnt> lastPoint();
+  std::shared_ptr<GeomAPI_Pnt> lastPoint();
+
+  /// Returns a circle if edge is based on the circle curve
+  std::shared_ptr<GeomAPI_Circ> circle();
+
+  /// Returns a line if edge is based on the linear curve
+  std::shared_ptr<GeomAPI_Lin> line();
 
-  /// Returns a circle if edge is based on the cirsle curve
-  boost::shared_ptr<GeomAPI_Circ> circle();
+  /// Returns true if the current edge is geometrically equal to the given edge
+  bool isEqual(const std::shared_ptr<GeomAPI_Shape> theEdge) const;
 };
 
 #endif