+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
// File: GeomAPI_Edge.hxx
// Created: 24 Jul 2014
// Author: Artem ZHIDKOV
class GeomAPI_Pnt;
class GeomAPI_Circ;
+class GeomAPI_Lin;
/**\class GeomAPI_Edge
* \ingroup DataModel
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;
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 circle if edge is based on the cirsle curve
- boost::shared_ptr<GeomAPI_Circ> circle();
+ /// Returns a line if edge is based on the linear curve
+ std::shared_ptr<GeomAPI_Lin> line();
/// Returns true if the current edge is geometrically equal to the given edge
- bool isEqual(boost::shared_ptr<GeomAPI_Shape> theEdge);
+ bool isEqual(const std::shared_ptr<GeomAPI_Shape> theEdge) const;
};
#endif