X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FGeomAPI%2FGeomAPI_Edge.h;h=e2851f71b0c08f0390b0c42de2528aa415a7e4e0;hb=696c11e9e4cb089e1c5496dac79420147d85496a;hp=f4fd1add6163b04950a9f57e8be1c3339bfff4e7;hpb=8e97f0514a5e19febf05a98077f84f63756f169f;p=modules%2Fshaper.git diff --git a/src/GeomAPI/GeomAPI_Edge.h b/src/GeomAPI/GeomAPI_Edge.h index f4fd1add6..e2851f71b 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 @@ -81,9 +90,16 @@ public: void getRange(double& theFirst, double& theLast) const; /// Returns true, if the edge is fully placed in the specified plane + /// \param thePlane a plane for intersection GEOMAPI_EXPORT bool isInPlane(const std::shared_ptr thePlane) const; + /// Returns list of intersection points if the edge has intersections with the given plane + /// \param thePlane a plane for intersection + GEOMAPI_EXPORT + void intersectWithPlane(const std::shared_ptr thePlane, + std::list >& theResult) const; + /// Returns edge length. GEOMAPI_EXPORT double length() const; @@ -95,7 +111,20 @@ public: /// Returns true if the edge is degenerated (has no 3D curve) GEOMAPI_EXPORT bool isDegenerated() const; + + GEOMAPI_EXPORT + void setFirstPointTolerance(const double theTolerance); + + GEOMAPI_EXPORT + void setLastPointTolerance(const double theTolerance); + + /// Return middle point on the edge + GEOMAPI_EXPORT + virtual std::shared_ptr middlePoint() const; }; +//! Pointer on object +typedef std::shared_ptr GeomEdgePtr; + #endif