Go to the documentation of this file.
24 #include <Handle_Geom2d_CartesianPoint.hxx>
25 #include <Handle_Geom2d_BezierCurve.hxx>
26 #include <Handle_Geom2d_BSplineCurve.hxx>
27 #include <Handle_Geom2d_Circle.hxx>
28 #include <Handle_Geom2d_Ellipse.hxx>
29 #include <Handle_Geom2d_Hyperbola.hxx>
30 #include <Handle_Geom2d_Parabola.hxx>
31 #include <Handle_Geom2d_Line.hxx>
32 #include <Handle_Geom2d_OffsetCurve.hxx>
33 #include <Handle_Geom2d_TrimmedCurve.hxx>
34 #include <TopoDS_shape.hxx>
39 class Adaptor2d_Curve2d;
50 virtual const Handle(Geom2d_Geometry)& handle()
const = 0;
84 const Handle(Geom2d_Geometry)& handle()
const;
90 Handle(Geom2d_CartesianPoint) myPoint;
105 bool normal(
double u, gp_Dir2d& dir)
const;
127 const Handle(Geom2d_Geometry)& handle()
const;
130 Handle(Geom2d_BezierCurve) myCurve;
145 void interpolate(
const std::vector<gp_Pnt2d>&,
const std::vector<gp_Vec2d>&);
151 const std::vector<double>&,
152 std::vector<gp_Vec2d>&)
const;
159 std::vector<gp_Vec2d>&)
const;
164 bool join(
const Handle(Geom2d_BSplineCurve)&);
166 std::list<Geometry2d*>
toBiArcs(
double tolerance)
const;
176 const Handle(Geom2d_Geometry)& handle()
const;
179 void createArcs(
double tolerance, std::list<Geometry2d*>& new_spans,
180 const gp_Pnt2d &p_start,
const gp_Vec2d &v_start,
181 double t_start,
double t_end, gp_Pnt2d &p_end, gp_Vec2d &v_end)
const;
182 bool calculateBiArcPoints(
const gp_Pnt2d& p0, gp_Vec2d v_start,
183 const gp_Pnt2d& p4, gp_Vec2d v_end,
184 gp_Pnt2d& p1, gp_Pnt2d& p2, gp_Pnt2d& p3)
const;
186 Handle(Geom2d_BSplineCurve) myCurve;
202 const Handle(Geom2d_Geometry)& handle()
const = 0;
228 const Handle(Geom2d_Geometry)& handle()
const = 0;
254 const Handle(Geom2d_Geometry)& handle()
const;
257 Handle(Geom2d_Circle) myCurve;
280 const Handle(Geom2d_Geometry)& handle()
const;
283 Handle(Geom2d_TrimmedCurve) myCurve;
310 const Handle(Geom2d_Geometry)& handle()
const;
313 Handle(Geom2d_Ellipse) myCurve;
340 const Handle(Geom2d_Geometry)& handle()
const;
343 Handle(Geom2d_TrimmedCurve) myCurve;
367 const Handle(Geom2d_Geometry)& handle()
const;
370 Handle(Geom2d_Hyperbola) myCurve;
395 const Handle(Geom2d_Geometry)& handle()
const;
398 Handle(Geom2d_TrimmedCurve) myCurve;
420 const Handle(Geom2d_Geometry)& handle()
const;
423 Handle(Geom2d_Parabola) myCurve;
446 const Handle(Geom2d_Geometry)& handle()
const;
449 Handle(Geom2d_TrimmedCurve) myCurve;
473 const Handle(Geom2d_Geometry)& handle()
const;
476 Handle(Geom2d_Line) myCurve;
501 const Handle(Geom2d_Geometry)& handle()
const;
504 Handle(Geom2d_TrimmedCurve) myCurve;
525 const Handle(Geom2d_Geometry)& handle()
const;
528 Handle(Geom2d_OffsetCurve) myCurve;
548 const Handle(Geom2d_Geometry)& handle()
const;
551 Handle(Geom2d_TrimmedCurve) myCurve;
void getCardinalSplineTangents(const std::vector< gp_Pnt2d > &, const std::vector< double > &, std::vector< gp_Vec2d > &) const
bool join(const Handle(Geom2d_BSplineCurve)&)
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Definition: Geometry2d.h:94
Base::Vector2d secondDerivativeAtParameter(double u) const
void setPole(int index, const Base::Vector2d &, double weight=-1)
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
void setHandle(const Handle(Geom2d_OffsetCurve)&c)
virtual Geometry2d * clone(void) const =0
returns a cloned object
Base::Vector2d getStartPoint() const
const Handle(Geom2d_Geometry) &handle() const
Definition: Geometry2d.h:44
double getMinorRadius(void) const
virtual ~Geom2dArcOfEllipse()
const Handle(Geom2d_Geometry) &handle() const
void setPoint(const Base::Vector2d &)
double getRadius(void) const
bool closestParameterToBasicCurve(const Base::Vector2d &point, double &u) const
double getFocal(void) const
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
const Handle(Geom2d_Geometry) &handle() const
Geom2dOffsetCurve(const Handle(Geom2d_Curve)&, double)
void setMinorRadius(double Radius)
Geom2dPoint(const Handle(Geom2d_CartesianPoint)&)
Definition: Geometry2d.h:402
virtual Geometry2d * clone(void) const
returns a cloned object
Geom2dBezierCurve(const Handle(Geom2d_BezierCurve)&)
void getRange(double &u, double &v) const
void setHandle(const Handle(Geom2d_BezierCurve)&)
std::vector< Base::Vector2d > getPoles() const
const Handle(Geom2d_Geometry) &handle() const =0
void setMajorAxisDir(Base::Vector2d newdir)
virtual const Handle(Geom2d_Geometry) &handle() const =0
Definition: Geometry2d.h:453
double getMajorRadius(void) const
virtual Geometry2d * clone(void) const
returns a cloned object
const Handle(Geom2d_Geometry) &handle() const
void getCardinalSplineTangents(const std::vector< gp_Pnt2d > &, double, std::vector< gp_Vec2d > &) const
void setMajorRadius(double Radius)
double getMinorRadius(void) const
virtual TopoDS_Shape toShape() const
virtual Geometry2d * clone(void) const =0
returns a cloned object
Definition: Geometry2d.h:67
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Persistence class and root of the type system.
Definition: Persistence.h:22
virtual Geometry2d * clone(void) const
returns a cloned object
void setMajorAxisDir(Base::Vector2d newdir)
std::unique_ptr< Geom2dCurve > makeFromCurve2d(Handle(Geom2d_Curve))
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setMinorRadius(double Radius)
Definition: Geometry2d.h:210
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
Geom2dArcOfEllipse(const Handle(Geom2d_Ellipse)&)
const Handle(Geom2d_Geometry) &handle() const
void makeC1Continuous(double)
const Handle(Geom2d_Geometry) &handle() const
std::list< Geometry2d * > toBiArcs(double tolerance) const
const Handle(Geom2d_Geometry) &handle() const
void setLocation(const Base::Vector2d &Center)
Geom2dLine(const Handle(Geom2d_Line)&)
Base::Vector2d getLocation(void) const
Base::Vector2d getStartPoint() const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual Geometry2d * clone(void) const
returns a cloned object
void setFocal(double length)
Base::Vector2d getPoint(void) const
double getMajorRadius(void) const
const Handle(Geom2d_Geometry) &handle() const
bool normal(double u, gp_Dir2d &dir) const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Definition: Geometry2d.h:261
virtual ~Geom2dTrimmedCurve()
const Handle(Geom2d_Geometry) &handle() const
void SaveAxis(Base::AbstractWriter &writer, const gp_Ax22d &) const
virtual ~Geom2dLineSegment()
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
const Handle(Geom2d_Geometry) &handle() const
Definition: Geometry2d.h:236
Geom2dOffsetCurve(const Handle(Geom2d_OffsetCurve)&)
virtual ~Geom2dBezierCurve()
void setPoints(const Base::Vector2d &p1, const Base::Vector2d &p2)
Definition: Persistence.h:13
Base::Vector2d getDir(void) const
Definition: Geometry2d.h:111
Geom2dArcOfCircle(const Handle(Geom2d_Circle)&)
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Base::Vector2d getMajorAxisDir() const
const Handle(Geom2d_Geometry) &handle() const =0
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
void interpolate(const std::vector< gp_Pnt2d > &, const std::vector< gp_Vec2d > &)
virtual Geometry2d * clone(void) const
returns a cloned object
void RestoreAxis(Base::AbstractXMLReader &reader, gp_Ax22d &)
Geom2dPoint(const Base::Vector2d &)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
std::unique_ptr< Geom2dCurve > makeFromTrimmedCurve2d(const Handle(Geom2d_Curve)&, double f, double l)
void SaveAxis(Base::AbstractWriter &writer, const gp_Ax22d &, double u, double v) const
virtual TopoDS_Shape toShape() const =0
Definition: Geometry2d.h:287
Definition: Geometry2d.h:190
virtual Geometry2d * clone(void) const =0
returns a cloned object
virtual ~Geom2dArcOfHyperbola()
virtual ~Geom2dArcOfCircle()
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
Definition: Geometry2d.h:374
double getRadius(void) const
Geom2dEllipse(const Handle(Geom2d_Ellipse)&)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
const Handle(Geom2d_Geometry) &handle() const
bool tangent(double u, gp_Dir2d &) const
virtual Geometry2d * clone(void) const
returns a cloned object
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Base::Vector2d pointAtParameter(double u) const
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
void setRange(double u, double v)
Base::Vector2d getEndPoint() const
double getMinorRadius(void) const
Definition: AbstractXMLReader.h:7
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setRadius(double Radius)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
Geom2dParabola(const Handle(Geom2d_Parabola)&)
void setLocation(const Base::Vector2d &Center)
Base::Vector2d getEndPoint() const
Definition: Geometry2d.h:347
virtual Geometry2d * clone(void) const
returns a cloned object
Base::Vector2d getMajorAxisDir() const
Definition: Geometry2d.h:427
const Handle(Geom2d_Geometry) &handle() const
Definition: Geometry2d.h:480
void setLine(const Base::Vector2d &Pos, const Base::Vector2d &Dir)
std::unique_ptr< Geom2dCurve > makeFromCurveAdaptor2d(const Adaptor2d_Curve2d &)
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
virtual ~Geom2dOffsetCurve()
double getMajorRadius(void) const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual Geometry2d * clone(void) const
returns a cloned object
Definition: Geometry2d.h:532
Base::Vector2d getPos(void) const
virtual ~Geom2dArcOfConic()
Geom2dArcOfParabola(const Handle(Geom2d_Parabola)&)
void setMinorRadius(double Radius)
Base::Vector2d firstDerivativeAtParameter(double u) const
void setMinorRadius(double Radius)
virtual Geometry2d * clone(void) const
returns a cloned object
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
Definition: Geometry2d.h:134
void setFocal(double length)
Geom2dArcOfHyperbola(const Handle(Geom2d_Hyperbola)&)
virtual Geometry2d * clone(void) const
returns a cloned object
bool closestParameter(const Base::Vector2d &point, double &u) const
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
Definition: Geometry2d.h:317
virtual ~Geom2dBSplineCurve()
double getMinorRadius(void) const
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setHandle(const Handle(Geom2d_Ellipse) &e)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual Geometry2d * clone(void) const
returns a cloned object
Geom2dCircle(const Handle(Geom2d_Circle)&)
void RestoreAxis(Base::AbstractXMLReader &reader, gp_Ax22d &, double &u, double &v)
virtual ~Geom2dHyperbola()
void setMajorRadius(double Radius)
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
void setHandle(const Handle(Geom2d_TrimmedCurve)&)
void setRadius(double Radius)
double getMajorRadius(void) const
Geom2dBSplineCurve(const Handle(Geom2d_BSplineCurve)&)
const Handle(Geom2d_Geometry) &handle() const
Geom2dHyperbola(const Handle(Geom2d_Hyperbola)&)
void setMajorRadius(double Radius)
void setMajorRadius(double Radius)
virtual Geometry2d * clone(void) const
returns a cloned object
Base::Vector2d getLocation(void) const
virtual void save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual Geometry2d * clone(void) const
returns a cloned object
virtual TopoDS_Shape toShape() const
Definition: Geometry2d.h:508
virtual ~Geom2dParabola()
#define TYPESYSTEM_HEADER()
define for subclassing Base::BaseClass
Definition: Base.h:12
Geom2dLine(const Base::Vector2d &Pos, const Base::Vector2d &Dir)
virtual Geometry2d * clone(void) const
returns a cloned object
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual Geometry2d * clone(void) const
returns a cloned object
virtual ~Geom2dArcOfParabola()
const Handle(Geom2d_Geometry) &handle() const
Geom2dTrimmedCurve(const Handle(Geom2d_TrimmedCurve)&)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
const Handle(Geom2d_Geometry) &handle() const
double getFocal(void) const
Definition: PropertyContainer.h:33
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setHandle(const Handle(Geom2d_BSplineCurve)&)