1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
3 // File: GeomAPI_Edge.hxx
4 // Created: 24 Jul 2014
5 // Author: Artem ZHIDKOV
7 #ifndef GeomAPI_Edge_H_
8 #define GeomAPI_Edge_H_
10 #include <GeomAPI_Shape.h>
15 /**\class GeomAPI_Edge
17 * \brief Interface to the edge object
20 class GEOMAPI_EXPORT GeomAPI_Edge : public GeomAPI_Shape
23 /// Creation of empty (null) shape
26 /// Creation of edge by the edge-shape
27 GeomAPI_Edge(const std::shared_ptr<GeomAPI_Shape>& theShape);
29 /// Verifies that the edge is a line
32 /// Verifies that the edge is a circle
33 bool isCircle() const;
35 /// Verifies that the edge is an arc of circle
38 /// Returns the first vertex coordinates of the edge
39 std::shared_ptr<GeomAPI_Pnt> firstPoint();
41 /// Returns the Last vertex coordinates of the edge
42 std::shared_ptr<GeomAPI_Pnt> lastPoint();
44 /// Returns a circle if edge is based on the cirsle curve
45 std::shared_ptr<GeomAPI_Circ> circle();
47 /// Returns true if the current edge is geometrically equal to the given edge
48 bool isEqual(std::shared_ptr<GeomAPI_Shape> theEdge);