1 // File: GeomAPI_Edge.hxx
2 // Created: 24 Jul 2014
3 // Author: Artem ZHIDKOV
5 #ifndef GeomAPI_Edge_H_
6 #define GeomAPI_Edge_H_
8 #include <GeomAPI_Shape.h>
13 /**\class GeomAPI_Edge
15 * \brief Interface to the edge object
18 class GEOMAPI_EXPORT GeomAPI_Edge : public GeomAPI_Shape
21 /// Creation of empty (null) shape
24 /// Creation of edge by the edge-shape
25 GeomAPI_Edge(const std::shared_ptr<GeomAPI_Shape>& theShape);
27 /// Verifies that the edge is a line
30 /// Verifies that the edge is a circle
31 bool isCircle() const;
33 /// Verifies that the edge is an arc of circle
36 /// Returns the first vertex coordinates of the edge
37 std::shared_ptr<GeomAPI_Pnt> firstPoint();
39 /// Returns the Last vertex coordinates of the edge
40 std::shared_ptr<GeomAPI_Pnt> lastPoint();
42 /// Returns a circle if edge is based on the cirsle curve
43 std::shared_ptr<GeomAPI_Circ> circle();
45 /// Returns true if the current edge is geometrically equal to the given edge
46 bool isEqual(std::shared_ptr<GeomAPI_Shape> theEdge);