20 #ifndef GeomAlgoAPI_EdgeBuilder_H_
21 #define GeomAlgoAPI_EdgeBuilder_H_
23 #include <GeomAlgoAPI.h>
24 #include <GeomAPI_Edge.h>
25 #include <GeomAPI_Pnt.h>
26 #include <GeomAPI_Dir.h>
27 #include <GeomAPI_Lin.h>
28 #include <GeomAPI_Circ.h>
46 static std::shared_ptr<GeomAPI_Edge> line(std::shared_ptr<GeomAPI_Pnt> theStart,
47 std::shared_ptr<GeomAPI_Pnt> theEnd);
53 static std::shared_ptr<GeomAPI_Edge> line(
double theDX,
59 static std::shared_ptr<GeomAPI_Edge> line(
const std::shared_ptr<GeomAPI_Lin> theLin);
62 static std::shared_ptr<GeomAPI_Edge> cylinderAxis(
63 std::shared_ptr<GeomAPI_Shape> theCylindricalFace);
66 static std::shared_ptr<GeomAPI_Edge> lineCircle(std::shared_ptr<GeomAPI_Pnt> theCenter,
67 std::shared_ptr<GeomAPI_Dir> theNormal,
69 double theRotationAngle = 0.);
72 static std::shared_ptr<GeomAPI_Edge> lineCircle(std::shared_ptr<GeomAPI_Circ> theCircle);
75 static std::shared_ptr<GeomAPI_Edge> lineCircleArc(std::shared_ptr<GeomAPI_Pnt> theCenter,
76 std::shared_ptr<GeomAPI_Pnt> theStartPoint,
77 std::shared_ptr<GeomAPI_Pnt> theEndPoint,
78 std::shared_ptr<GeomAPI_Dir> theNormal);
81 static std::shared_ptr<GeomAPI_Edge> ellipse(
const std::shared_ptr<GeomAPI_Pnt>& theCenter,
82 const std::shared_ptr<GeomAPI_Dir>& theNormal,
83 const std::shared_ptr<GeomAPI_Dir>& theMajorAxis,
84 const double theMajorRadius,
85 const double theMinorRadius);
89 static std::shared_ptr<GeomAPI_Edge> ellipticArc(
90 const std::shared_ptr<GeomAPI_Pnt>& theCenter,
91 const std::shared_ptr<GeomAPI_Dir>& theNormal,
92 const std::shared_ptr<GeomAPI_Dir>& theMajorAxis,
93 const double theMajorRadius,
94 const double theMinorRadius,
95 const std::shared_ptr<GeomAPI_Pnt>& theStart,
96 const std::shared_ptr<GeomAPI_Pnt>& theEnd);
99 static GeomEdgePtr bsplineOnPlane(
const std::shared_ptr<GeomAPI_Ax3>& thePlane,
100 const std::list<std::shared_ptr<GeomAPI_Pnt2d> >& thePoles,
101 const std::list<double>& theWeights,
102 const std::list<double>& theKnots,
103 const std::list<int>& theMults,
105 const bool thePeriodic);
108 static GeomEdgePtr bsplineOnPlane(
const std::shared_ptr<GeomAPI_Ax3>& thePlane,
109 const std::shared_ptr<GeomAPI_BSpline2d>& theCurve);
The class represents a coordinate plane which is 2d plane with X and Y directions and origin.
Definition: GeomAPI_Ax3.h:33
B-spline curve in 2D.
Definition: GeomAPI_BSpline2d.h:36
Allows to create face-shapes by different parameters.
Definition: GeomAlgoAPI_EdgeBuilder.h:41