24 #ifndef PART_GEOMETRY2D_H 25 #define PART_GEOMETRY2D_H 27 #include <Geom2d_CartesianPoint.hxx> 28 #include <Geom2d_BezierCurve.hxx> 29 #include <Geom2d_BSplineCurve.hxx> 30 #include <Geom2d_Circle.hxx> 31 #include <Geom2d_Ellipse.hxx> 32 #include <Geom2d_Hyperbola.hxx> 33 #include <Geom2d_Parabola.hxx> 34 #include <Geom2d_Line.hxx> 35 #include <Geom2d_OffsetCurve.hxx> 36 #include <Geom2d_TrimmedCurve.hxx> 37 #include <TopoDS_Shape.hxx> 44 class Adaptor2d_Curve2d;
54 virtual TopoDS_Shape toShape()
const = 0;
55 virtual const Handle(Geom2d_Geometry)& handle()
const = 0;
80 virtual TopoDS_Shape toShape()
const;
89 const Handle(Geom2d_Geometry)& handle()
const;
95 Handle(Geom2d_CartesianPoint) myPoint;
105 virtual TopoDS_Shape toShape()
const;
106 bool tangent(
double u, gp_Dir2d&)
const;
110 bool normal(
double u, gp_Dir2d& dir)
const;
111 bool closestParameter(
const Base::Vector2d& point,
double &u)
const;
112 bool closestParameterToBasicCurve(
const Base::Vector2d& point,
double &u)
const;
131 void setHandle(
const Handle(Geom2d_BezierCurve)&);
132 const Handle(Geom2d_Geometry)& handle()
const;
135 Handle(Geom2d_BezierCurve) myCurve;
150 void interpolate(
const std::vector<gp_Pnt2d>&,
const std::vector<gp_Vec2d>&);
155 void getCardinalSplineTangents(
const std::vector<gp_Pnt2d>&,
156 const std::vector<double>&,
157 std::vector<gp_Vec2d>&)
const;
163 void getCardinalSplineTangents(
const std::vector<gp_Pnt2d>&,
double,
164 std::vector<gp_Vec2d>&)
const;
166 int countPoles()
const;
168 std::vector<Base::Vector2d> getPoles()
const;
169 bool join(
const Handle(Geom2d_BSplineCurve)&);
170 void makeC1Continuous(
double);
180 void setHandle(
const Handle(Geom2d_BSplineCurve)&);
181 const Handle(Geom2d_Geometry)& handle()
const;
185 const gp_Pnt2d &p_start,
const gp_Vec2d &v_start,
186 double t_start,
double t_end, gp_Pnt2d &p_end, gp_Vec2d &v_end)
const;
187 bool calculateBiArcPoints(
const gp_Pnt2d& p0, gp_Vec2d v_start,
188 const gp_Pnt2d& p4, gp_Vec2d v_end,
189 gp_Pnt2d& p1, gp_Pnt2d& p2, gp_Pnt2d& p3)
const;
191 Handle(Geom2d_BSplineCurve) myCurve;
206 bool isReversed()
const;
207 const Handle(Geom2d_Geometry)& handle()
const = 0;
226 bool isReversed()
const;
231 void getRange(
double& u,
double& v)
const;
232 void setRange(
double u,
double v);
233 const Handle(Geom2d_Geometry)& handle()
const = 0;
249 double getRadius(
void)
const;
250 void setRadius(
double Radius);
259 const Handle(Geom2d_Geometry)& handle()
const;
262 Handle(Geom2d_Circle) myCurve;
274 double getRadius(
void)
const;
275 void setRadius(
double Radius);
284 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
285 const Handle(Geom2d_Geometry)& handle()
const;
288 Handle(Geom2d_TrimmedCurve) myCurve;
300 double getMajorRadius(
void)
const;
301 void setMajorRadius(
double Radius);
302 double getMinorRadius(
void)
const;
303 void setMinorRadius(
double Radius);
314 void setHandle(
const Handle(Geom2d_Ellipse) &e);
315 const Handle(Geom2d_Geometry)& handle()
const;
318 Handle(Geom2d_Ellipse) myCurve;
330 double getMajorRadius(
void)
const;
331 void setMajorRadius(
double Radius);
332 double getMinorRadius(
void)
const;
333 void setMinorRadius(
double Radius);
344 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
345 const Handle(Geom2d_Geometry)& handle()
const;
348 Handle(Geom2d_TrimmedCurve) myCurve;
360 double getMajorRadius(
void)
const;
361 void setMajorRadius(
double Radius);
362 double getMinorRadius(
void)
const;
363 void setMinorRadius(
double Radius);
372 const Handle(Geom2d_Geometry)& handle()
const;
375 Handle(Geom2d_Hyperbola) myCurve;
387 double getMajorRadius(
void)
const;
388 void setMajorRadius(
double Radius);
389 double getMinorRadius(
void)
const;
390 void setMinorRadius(
double Radius);
399 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
400 const Handle(Geom2d_Geometry)& handle()
const;
403 Handle(Geom2d_TrimmedCurve) myCurve;
415 double getFocal(
void)
const;
416 void setFocal(
double length);
425 const Handle(Geom2d_Geometry)& handle()
const;
428 Handle(Geom2d_Parabola) myCurve;
440 double getFocal(
void)
const;
441 void setFocal(
double length);
450 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
451 const Handle(Geom2d_Geometry)& handle()
const;
454 Handle(Geom2d_TrimmedCurve) myCurve;
478 const Handle(Geom2d_Geometry)& handle()
const;
481 Handle(Geom2d_Line) myCurve;
505 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
506 const Handle(Geom2d_Geometry)& handle()
const;
509 Handle(Geom2d_TrimmedCurve) myCurve;
529 void setHandle(
const Handle(Geom2d_OffsetCurve)& c);
530 const Handle(Geom2d_Geometry)& handle()
const;
533 Handle(Geom2d_OffsetCurve) myCurve;
552 void setHandle(
const Handle(Geom2d_TrimmedCurve)&);
553 const Handle(Geom2d_Geometry)& handle()
const;
556 Handle(Geom2d_TrimmedCurve) myCurve;
565 #endif // PART_GEOMETRY2D_H LX_GEOM_EXPORT Point getPoint(const Geom::Pnt &p)
std::unique_ptr< Geom2dCurve > makeFromTrimmedCurve2d(const Handle(Geom2d_Curve)&, double f, double l)
Definition: Geometry2d.h:512
Definition: Persistence.h:14
Definition: Geometry2d.h:484
Definition: Geometry2d.h:138
Definition: Geometry2d.h:351
Definition: Geometry2d.h:406
Definition: Geometry2d.h:240
std::unique_ptr< Geom2dCurve > makeFromCurveAdaptor2d(const Adaptor2d_Curve2d &)
Definition: Geometry2d.h:291
Definition: Geometry2d.h:321
Persistence class and root of the type system.
Definition: Persistence.h:23
Definition: AbstractXMLReader.h:7
Definition: Geometry2d.h:265
Definition: AbstractConstraint.h:6
Definition: Geometry2d.h:115
Definition: Geometry2d.h:71
Definition: Geometry2d.h:48
Definition: Geometry2d.h:378
Definition: Geometry2d.h:98
std::unique_ptr< Geom2dCurve > makeFromCurve2d(Handle(Geom2d_Curve))
Definition: Geometry2d.h:194
Definition: Geometry2d.h:214
Definition: Geometry2d.h:431
Definition: Geometry2d.h:536
Definition: Geometry2d.h:457