X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FGeomAPI%2FGeomAPI_Edge.h;h=ce0f7b559d18e0f1b9d830af6e6d3d5d94879970;hb=23119d0e90b60ad1157658b29a23052f7c13d0c3;hp=c1a0c1eaa4bb54a916099e15d8dd9ecd61d4155d;hpb=07cc1736f87ec262597264a711d216b146a6b36d;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_Edge.h b/src/GeomAPI/GeomAPI_Edge.h index c1a0c1eaa..ce0f7b559 100644 --- a/src/GeomAPI/GeomAPI_Edge.h +++ b/src/GeomAPI/GeomAPI_Edge.h @@ -27,6 +27,7 @@ class GeomAPI_Pln; class GeomAPI_Pnt; class GeomAPI_Circ; class GeomAPI_Lin; +class GeomAPI_Ellipse; /**\class GeomAPI_Edge * \ingroup DataModel @@ -56,6 +57,10 @@ public: GEOMAPI_EXPORT bool isArc() const; + /// Verifies that the edge is an arc of circle + GEOMAPI_EXPORT + bool isEllipse() const; + /// Returns the first vertex coordinates of the edge GEOMAPI_EXPORT std::shared_ptr firstPoint(); @@ -66,11 +71,15 @@ public: /// Returns a circle if edge is based on the circle curve GEOMAPI_EXPORT - std::shared_ptr circle(); + std::shared_ptr circle() const; + + /// Returns an ellipse if edge is based on the ellipse curve + GEOMAPI_EXPORT + std::shared_ptr ellipse() const; /// Returns a line if edge is based on the linear curve GEOMAPI_EXPORT - std::shared_ptr line(); + std::shared_ptr line() const; /// Returns true if the current edge is geometrically equal to the given edge GEOMAPI_EXPORT @@ -91,7 +100,14 @@ public: /// Returns true if the edge is closed (like full circle) GEOMAPI_EXPORT bool isClosed() const; + + /// Returns true if the edge is degenerated (has no 3D curve) + GEOMAPI_EXPORT + bool isDegenerated() const; }; +//! Pointer on attribute object +typedef std::shared_ptr GeomEdgePtr; + #endif