20 #ifndef GeomAPI_Edge_H_
21 #define GeomAPI_Edge_H_
23 #include <GeomAPI_Shape.h>
46 GeomAPI_Edge(
const std::shared_ptr<GeomAPI_Shape>& theShape);
50 void vertices(std::shared_ptr<GeomAPI_Vertex>& theStartVertex,
51 std::shared_ptr<GeomAPI_Vertex>& theEndVertex)
const;
55 virtual bool isSameGeometry(
const std::shared_ptr<GeomAPI_Shape> theShape)
const;
87 std::shared_ptr<GeomAPI_Circ>
circle()
const;
91 std::shared_ptr<GeomAPI_Ellipse>
ellipse()
const;
95 std::shared_ptr<GeomAPI_Lin>
line()
const;
99 bool isEqual(
const std::shared_ptr<GeomAPI_Shape> theEdge)
const;
103 void setRange(
const double& theFirst,
const double& theLast);
107 void getRange(
double& theFirst,
double& theLast)
const;
112 bool isInPlane(
const std::shared_ptr<GeomAPI_Pln> thePlane)
const;
118 std::list<std::shared_ptr<GeomAPI_Pnt> >& theResult)
const;
133 void setFirstPointTolerance(
const double theTolerance);
136 void setLastPointTolerance(
const double theTolerance);
138 GEOMAPI_EXPORT
double firstPointTolerance()
const;
140 GEOMAPI_EXPORT
double lastPointTolerance()
const;
144 virtual std::shared_ptr<GeomAPI_Pnt>
middlePoint()
const;
148 typedef std::shared_ptr<GeomAPI_Edge> GeomEdgePtr;
Circle in 3D.
Definition: GeomAPI_Circ.h:37
Interface to the edge object.
Definition: GeomAPI_Edge.h:38
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Pnt > firstPoint()
Returns the first vertex coordinates of the edge.
Definition: GeomAPI_Edge.cpp:195
GEOMAPI_EXPORT bool isInPlane(const std::shared_ptr< GeomAPI_Pln > thePlane) const
Returns true, if the edge is fully placed in the specified plane.
Definition: GeomAPI_Edge.cpp:334
GEOMAPI_EXPORT void getRange(double &theFirst, double &theLast) const
Returns range of parameter on the curve.
Definition: GeomAPI_Edge.cpp:327
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Ellipse > ellipse() const
Returns an ellipse if edge is based on the ellipse curve.
Definition: GeomAPI_Edge.cpp:231
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Lin > line() const
Returns a line if edge is based on the linear curve.
Definition: GeomAPI_Edge.cpp:250
GEOMAPI_EXPORT bool isEqual(const std::shared_ptr< GeomAPI_Shape > theEdge) const
Returns true if the current edge is geometrically equal to the given edge.
Definition: GeomAPI_Edge.cpp:273
virtual GEOMAPI_EXPORT bool isSameGeometry(const std::shared_ptr< GeomAPI_Shape > theShape) const
Returns true if edges have same underlying curve.
Definition: GeomAPI_Edge.cpp:97
GEOMAPI_EXPORT bool isEllipse() const
Verifies that the edge is an arc of circle.
Definition: GeomAPI_Edge.cpp:171
virtual GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Pnt > middlePoint() const
Return middle point on the edge.
Definition: GeomAPI_Edge.cpp:484
GEOMAPI_EXPORT bool isDegenerated() const
Returns true if the edge is degenerated (has no 3D curve)
Definition: GeomAPI_Edge.cpp:444
GEOMAPI_EXPORT void vertices(std::shared_ptr< GeomAPI_Vertex > &theStartVertex, std::shared_ptr< GeomAPI_Vertex > &theEndVertex) const
Return vertices of the edge;.
Definition: GeomAPI_Edge.cpp:74
GEOMAPI_EXPORT void setRange(const double &theFirst, const double &theLast)
Change parametric range of the curve.
Definition: GeomAPI_Edge.cpp:314
GEOMAPI_EXPORT GeomAPI_Edge()
Makes an undefined Edge (no geometry).
Definition: GeomAPI_Edge.cpp:57
GEOMAPI_EXPORT bool isClosed() const
Returns true if the edge is closed (like full circle)
Definition: GeomAPI_Edge.cpp:430
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Circ > circle() const
Returns a circle if edge is based on the circle curve.
Definition: GeomAPI_Edge.cpp:215
GEOMAPI_EXPORT bool isBSpline() const
Verifies that the edge is based on a B-spline curve.
Definition: GeomAPI_Edge.cpp:183
GEOMAPI_EXPORT void intersectWithPlane(const std::shared_ptr< GeomAPI_Pln > thePlane, std::list< std::shared_ptr< GeomAPI_Pnt > > &theResult) const
Returns list of intersection points if the edge has intersections with the given plane.
Definition: GeomAPI_Edge.cpp:374
GEOMAPI_EXPORT bool isLine() const
Verifies that the edge is a line.
Definition: GeomAPI_Edge.cpp:116
GEOMAPI_EXPORT std::shared_ptr< GeomAPI_Pnt > lastPoint()
Returns the Last vertex coordinates of the edge.
Definition: GeomAPI_Edge.cpp:205
GEOMAPI_EXPORT double length() const
Returns edge length.
Definition: GeomAPI_Edge.cpp:422
GEOMAPI_EXPORT bool isArc() const
Verifies that the edge is an arc of circle.
Definition: GeomAPI_Edge.cpp:158
GEOMAPI_EXPORT bool isCircle() const
Verifies that the edge is a circle.
Definition: GeomAPI_Edge.cpp:145
Ellipse in 3D.
Definition: GeomAPI_Ellipse.h:41
Line in 3D.
Definition: GeomAPI_Lin.h:35
\Plane in 3D place, defined by normal, center and x-direction.
Definition: GeomAPI_Pln.h:38
3D point defined by three coordinates
Definition: GeomAPI_Pnt.h:38
Interface to the topological shape object.
Definition: GeomAPI_Shape.h:43
Interface to the vertex object.
Definition: GeomAPI_Vertex.h:31