Go to the documentation of this file.
24 #include <Precision.hxx>
25 #include <Handle_Geom_CartesianPoint.hxx>
26 #include <Handle_Geom_BezierCurve.hxx>
27 #include <Handle_Geom_BSplineCurve.hxx>
28 #include <Handle_Geom_Circle.hxx>
29 #include <Handle_Geom_Ellipse.hxx>
30 #include <Handle_Geom_Hyperbola.hxx>
31 #include <Handle_Geom_Parabola.hxx>
32 #include <Handle_Geom_Line.hxx>
33 #include <Handle_Geom_OffsetCurve.hxx>
34 #include <Handle_Geom_TrimmedCurve.hxx>
35 #include <Handle_Geom_Surface.hxx>
36 #include <Handle_Geom_BezierSurface.hxx>
37 #include <Handle_Geom_BSplineSurface.hxx>
38 #include <Handle_Geom_CylindricalSurface.hxx>
39 #include <Handle_Geom_ConicalSurface.hxx>
40 #include <Handle_Geom_SphericalSurface.hxx>
41 #include <Handle_Geom_ToroidalSurface.hxx>
42 #include <Handle_Geom_Plane.hxx>
43 #include <Handle_Geom_OffsetSurface.hxx>
44 #include <Handle_GeomPlate_Surface.hxx>
45 #include <Handle_Geom_RectangularTrimmedSurface.hxx>
46 #include <Handle_Geom_SurfaceOfRevolution.hxx>
47 #include <Handle_Geom_SurfaceOfLinearExtrusion.hxx>
49 #include <TopoDS_Shape.hxx>
53 #include <boost/uuid/uuid.hpp>
56 class Adaptor3d_Curve;
57 class GeomPlate_BuildPlateSurface;
70 class GeometryExtension;
79 virtual const Handle(Geom_Geometry)& handle()
const = 0;
98 std::vector<std::weak_ptr<const GeometryExtension>>
getExtensions()
const;
103 std::weak_ptr<const GeometryExtension>
getExtension(std::string name)
const;
156 const Handle(Geom_Geometry)& handle()
const;
163 Handle(Geom_CartesianPoint) myPoint;
201 std::vector<std::pair<Base::Vector3d, Base::Vector3d>>& points,
202 double tol = ::Precision::Confusion())
const;
207 static bool intersect(
const Handle(Geom_Curve) c,
const Handle(Geom_Curve) c2,
208 std::vector<std::pair<Base::Vector3d, Base::Vector3d>>& points,
209 double tol = ::Precision::Confusion());
243 const Handle(Geom_Geometry)& handle()
const;
246 Handle(Geom_BezierCurve) myCurve;
256 GeomBSplineCurve(
const std::vector<Base::Vector3d>& poles,
const std::vector<double>& weights,
257 const std::vector<double>& knots,
const std::vector<int>& multiplicities,
258 int degree,
bool periodic=
false,
bool checkrational =
true);
266 void interpolate(
const std::vector<gp_Pnt>&,
const std::vector<gp_Vec>&);
272 const std::vector<double>&,
273 std::vector<gp_Vec>&)
const;
280 std::vector<gp_Vec>&)
const;
285 void setPoles(
const std::vector<Base::Vector3d>& poles,
const std::vector<double>& weights);
286 void setPoles(
const std::vector<Base::Vector3d>& poles);
288 void setKnot(
int index,
const double val,
int mult=-1);
290 void setKnots(
const std::vector<double>& knots,
const std::vector<int>& multiplicities);
299 bool join(
const Handle(Geom_BSplineCurve)&);
301 std::list<Geometry*>
toBiArcs(
double tolerance)
const;
304 bool approximate(
double tol3d,
int maxSegments,
int maxDegree,
int continuity);
307 bool removeKnot(
int index,
int multiplicity,
double tolerance = ::Precision::PConfusion());
317 const Handle(Geom_Geometry)& handle()
const;
320 void createArcs(
double tolerance, std::list<Geometry*>& new_spans,
321 const gp_Pnt &p_start,
const gp_Vec &v_start,
322 double t_start,
double t_end, gp_Pnt &p_end, gp_Vec &v_end)
const;
323 bool calculateBiArcPoints(
const gp_Pnt& p0, gp_Vec v_start,
324 const gp_Pnt& p4, gp_Vec v_end,
325 gp_Pnt& p1, gp_Pnt& p2, gp_Pnt& p3)
const;
327 Handle(Geom_BSplineCurve) myCurve;
356 const Handle(Geom_Geometry)& handle()
const = 0;
376 const Handle(Geom_Geometry)& handle()
const;
379 std::vector<std::pair<Base::Vector3d, Base::Vector3d>>& points,
380 double tol = ::Precision::Confusion())
const;
420 virtual void getRange(
double& u,
double& v,
bool emulateCCWXY)
const = 0;
421 virtual void setRange(
double u,
double v,
bool emulateCCWXY) = 0;
432 const Handle(Geom_Geometry)& handle()
const = 0;
455 const Handle(Geom_Geometry)& handle()
const;
460 Handle(Geom_Circle) myCurve;
476 virtual void getRange(
double& u,
double& v,
bool emulateCCWXY)
const;
477 virtual void setRange(
double u,
double v,
bool emulateCCWXY);
489 const Handle(Geom_Geometry)& handle()
const;
518 const Handle(Geom_Geometry)& handle()
const;
521 Handle(Geom_Ellipse) myCurve;
540 virtual void getRange(
double& u,
double& v,
bool emulateCCWXY)
const;
541 virtual void setRange(
double u,
double v,
bool emulateCCWXY);
553 const Handle(Geom_Geometry)& handle()
const;
579 const Handle(Geom_Geometry)& handle()
const;
583 Handle(Geom_Hyperbola) myCurve;
602 virtual void getRange(
double& u,
double& v,
bool emulateCCWXY)
const;
603 virtual void setRange(
double u,
double v,
bool emulateCCWXY);
615 const Handle(Geom_Geometry)& handle()
const;
638 const Handle(Geom_Geometry)& handle()
const;
642 Handle(Geom_Parabola) myCurve;
659 virtual void getRange(
double& u,
double& v,
bool emulateCCWXY)
const;
660 virtual void setRange(
double u,
double v,
bool emulateCCWXY);
672 const Handle(Geom_Geometry)& handle()
const;
696 const Handle(Geom_Geometry)& handle()
const;
700 Handle(Geom_Line) myCurve;
728 const Handle(Geom_Geometry)& handle()
const;
751 const Handle(Geom_Geometry)& handle()
const;
754 Handle(Geom_OffsetCurve) myCurve;
772 bool tangentU(
double u,
double v, gp_Dir& dirU)
const;
773 bool tangentV(
double u,
double v, gp_Dir& dirV)
const;
774 bool normal(
double u,
double v, gp_Dir& dir)
const;
801 const Handle(Geom_Geometry)& handle()
const;
804 Handle(Geom_BezierSurface) mySurface;
824 const Handle(Geom_Geometry)& handle()
const;
827 Handle(Geom_BSplineSurface) mySurface;
847 const Handle(Geom_Geometry)& handle()
const;
850 Handle(Geom_CylindricalSurface) mySurface;
870 const Handle(Geom_Geometry)& handle()
const;
873 Handle(Geom_ConicalSurface) mySurface;
893 const Handle(Geom_Geometry)& handle()
const;
896 Handle(Geom_SphericalSurface) mySurface;
916 const Handle(Geom_Geometry)& handle()
const;
919 Handle(Geom_ToroidalSurface) mySurface;
939 const Handle(Geom_Geometry)& handle()
const;
942 Handle(Geom_Plane) mySurface;
963 const Handle(Geom_Geometry)& handle()
const;
966 Handle(Geom_OffsetSurface) mySurface;
988 const Handle(Geom_Geometry)& handle()
const;
991 Handle(GeomPlate_Surface) mySurface;
1010 void setHandle(
const Handle(Geom_RectangularTrimmedSurface)& s);
1014 Handle(Geom_RectangularTrimmedSurface) mySurface;
1038 Handle(Geom_SurfaceOfRevolution) mySurface;
1058 void setHandle(
const Handle(Geom_SurfaceOfLinearExtrusion)& c);
1062 Handle(Geom_SurfaceOfLinearExtrusion) mySurface;
void setHandle(const Handle(Geom_CartesianPoint)&)
virtual ~GeomArcOfParabola()
Base::Vector3d getXAxisDir() const
void setHandle(const Handle(Geom_Circle)&)
void setHandle(const Handle(GeomPlate_Surface)&s)
Definition: Geometry.h:360
virtual ~GeomArcOfHyperbola()
void setHandle(const Handle(Geom_BezierCurve)&)
void setMajorAxisDir(Base::Vector3d newdir)
void setPoles(const std::vector< Base::Vector3d > &poles)
virtual Geometry * copy(void) const
GeomLine(const Base::Vector3d &Pos, const Base::Vector3d &Dir)
TopoDS_Shape toShape() const
virtual void setRange(double u, double v, bool emulateCCWXY)
virtual void getRange(double &u, double &v, bool emulateCCWXY) const
void setHandle(const Handle(Geom_TrimmedCurve)&)
double getFocal(void) const
Base::Vector3d getCenter(void) const
getCenter
GeomSphere(const Handle(Geom_SphericalSurface)&)
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.
void setKnots(const std::vector< double > &knots, const std::vector< int > &multiplicities)
const Handle(Geom_Geometry) &handle() const
Definition: Geometry.h:494
const Handle(Geom_Geometry) &handle() const
GeomToroid(const Handle(Geom_ToroidalSurface)&)
GeomEllipse(const Handle(Geom_Ellipse)&)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
double getMajorRadius(void) const
double getAngleXU(void) const
virtual ~GeomArcOfConic()
GeomTrimmedSurface(const Handle(Geom_RectangularTrimmedSurface)&)
Definition: Geometry.h:995
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(Geom_Parabola)&)
GeomBSplineCurve(const std::vector< Base::Vector3d > &poles, const std::vector< double > &weights, const std::vector< double > &knots, const std::vector< int > &multiplicities, int degree, bool periodic=false, bool checkrational=true)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
bool isUmbillic(double u, double v) 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.
GeomOffsetSurface(const Handle(Geom_OffsetSurface)&)
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.
double getMajorRadius(void) const
virtual Geometry * copy(void) const
GeomTrimmedCurve(const Handle(Geom_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.
void increaseMultiplicity(int index, int multiplicity)
void setHandle(const Handle(Geom_TrimmedCurve)&)
void setRadius(double Radius)
Definition: Geometry.h:733
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
bool tangentU(double u, double v, gp_Dir &dirU) const
Curvature
Definition: Geometry.h:761
void setMajorAxisDir(Base::Vector3d newdir)
virtual Geometry * copy(void) const
Definition: Placement.h:56
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.
virtual Geometry * copy(void) const
void setHandle(const Handle(Geom_ConicalSurface)&)
double getMajorRadius(void) const
virtual Geometry * copy(void) const
virtual void getRange(double &u, double &v, bool emulateCCWXY) const
Definition: Geometry.h:73
void setHandle(const Handle(Geom_OffsetSurface)&s)
void deleteExtension(std::string name)
virtual Base::Vector3d getEndPoint() const
bool closestParameterToBasisCurve(const Base::Vector3d &point, double &u) const
bool intersectBasisCurves(const GeomTrimmedCurve *c, std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &points, double tol=::Precision::Confusion()) const
void setLocation(const Base::Vector3d &Center)
virtual ~GeomLineSegment()
void setPoints(const Base::Vector3d &p1, const Base::Vector3d &p2)
Definition: Geometry.h:225
Base::Vector3d getEndPoint() 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.
Definition: Geometry.h:138
GeomSurfaceOfExtrusion(const Handle(Geom_SurfaceOfLinearExtrusion)&)
void setPoint(const Base::Vector3d &)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
const Handle(Geom_Geometry) &handle() const
virtual void getRange(double &u, double &v) const
Definition: Geometry.h:423
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.
Definition: Geometry.h:1018
GeomSurfaceOfRevolution(const Handle(Geom_Curve)&, const gp_Ax1 &)
std::vector< int > getMultiplicities() const
void setCenter(const Base::Vector3d &Center)
setCenter
const Handle(Geom_Geometry) &handle() const
Persistence class and root of the type system.
Definition: Persistence.h:22
void mirror(const Base::Vector3d &point, const Base::Vector3d &dir)
virtual Geometry * copy(void) const
Base::Vector3d firstDerivativeAtParameter(double u) const
Definition: Geometry.h:877
GeomPlane(const Handle(Geom_Plane)&)
virtual ~GeomSurfaceOfRevolution()
const Handle(Geom_Geometry) &handle() const
void rotate(const Base::Placement &plm)
virtual Geometry * copy(void) const
void setHandle(const Handle(Geom_SphericalSurface)&)
double getMajorRadius(void) const
const Handle(Geom_Geometry) &handle() const =0
Definition: Geometry.h:900
void setMinorRadius(double Radius)
const Handle(Geom_Geometry) &handle() const
const Handle(Geom_Geometry) &handle() 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 save(Base::AbstractWriter &, Base::PersistenceVersion &) override
This method is used to save properties or very small amounts of data to an XML document.
virtual ~GeomTrimmedSurface()
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.
std::vector< double > getWeights() const
GeomLine(const Handle(Geom_Line)&)
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.
LX_GEOM_EXPORT bool findFilletCenter(const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, double radius, Base::Vector3d ¢er)
bool tangentV(double u, double v, gp_Dir &dirV) const
std::weak_ptr< GeometryExtension > getExtension(std::string name)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual void setRange(double u, double v, bool emulateCCWXY)=0
boost::uuids::uuid getTag() const
returns the tag of the geometry object
void setHandle(const Handle(Geom_Hyperbola)&)
virtual Geometry * copy(void) const
virtual void setRange(double u, double v, bool emulateCCWXY)
virtual ~GeomPlateSurface()
virtual void getRange(double &u, double &v) const
double length(double u, double v) 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.
const Handle(Geom_Geometry) &handle() const
void setXAxisDir(const Base::Vector3d &newdir)
virtual Geometry * copy(void) const
void setAngleXU(double angle)
const Handle(Geom_Geometry) &handle() const
double getFocal(void) const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual Base::Vector3d getStartPoint() const
Definition: Geometry.h:854
Base::Vector3d getPoint(void) const
const Handle(Geom_Geometry) &handle() 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.
GeomArcOfHyperbola(const Handle(Geom_Hyperbola)&)
virtual ~GeomBSplineSurface()
virtual Geometry * copy(void) const
GeomPoint(const Handle(Geom_CartesianPoint)&)
GeomOffsetCurve(const Handle(Geom_Curve)&, double, const gp_Dir &)
Definition: Geometry.h:704
Definition: Geometry.h:646
void setMajorAxisDir(Base::Vector3d newdir)
int getMultiplicity(int index) const
Definition: Geometry.h:619
virtual Geometry * copy(void) const
GeomLineSegment(const Handle(Geom_Line)&l)
virtual void getRange(double &u, double &v, bool emulateCCWXY) const =0
GeomPlateSurface(const Handle(Geom_Surface)&, const Plate_Plate &)
GeomPlateSurface(const GeomPlate_BuildPlateSurface &)
virtual GeomBSplineCurve * toNurbs(double first, double last) const
GeomArcOfCircle(const Geom::Circ &aCirc, double aParam1, double aParam2)
virtual Geometry * copy(void) const
void setHandle(const Handle(Geom_TrimmedCurve)&)
const Handle(Geom_Geometry) &handle() const
Definition: Geometry.h:392
void scale(const Base::Vector3d &vec, double scale)
Definition: Geometry.h:808
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setHandle(const Handle(Geom_TrimmedCurve)&)
virtual Geometry * copy(void) const =0
void curvatureDirections(double u, double v, gp_Dir &maxD, gp_Dir &minD) const
GeomCone(const Handle(Geom_ConicalSurface)&)
void setMinorRadius(double Radius)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
double getAngleXU(void) const
Definition: Geometry.h:587
virtual void getRange(double &u, double &v, bool emulateCCWXY) const
Definition: Geometry.h:558
std::vector< double > getKnots() const
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.
virtual Geometry * copy(void) const
Base::Vector3d secondDerivativeAtParameter(double u) const
void setLine(const Base::Vector3d &Pos, const Base::Vector3d &Dir)
double getFirstParameter() const
virtual ~GeomArcOfCircle()
void setHandle(const Handle(Geom_SurfaceOfLinearExtrusion)&c)
const Handle(Geom_Geometry) &handle() const
void setHandle(const Handle(Geom_SurfaceOfRevolution)&c)
const Handle(Geom_Geometry) &handle() const
LX_GEOM_EXPORT std::unique_ptr< GeomCurve > makeFromTrimmedCurve(const Handle(Geom_Curve)&, double f, double l)
void makeC1Continuous(double, double)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setLocation(const Base::Vector3d &Center)
Definition: Geometry.h:168
Definition: Persistence.h:13
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
bool tangent(double u, Base::Vector3d &dir) const
const Handle(Geom_Geometry) &handle() const
virtual Geometry * copy(void) const
virtual GeomBSplineCurve * toNurbs(double first, double last) const
bool tangent(double u, gp_Dir &) const
virtual const Handle(Geom_Geometry) &handle() const =0
bool normalAt(double u, Base::Vector3d &dir) const
virtual GeomBSplineCurve * toNurbs(double first, double last) const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setHandle(const Handle(Geom_BSplineSurface)&)
void setAngleXU(double angle)
std::vector< std::shared_ptr< GeometryExtension > > extensions
Definition: Geometry.h:130
void setKnots(const std::vector< double > &knots)
LX_GEOM_EXPORT GeomArcOfCircle * createFilletGeometry(const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d ¢er, double radius)
GeomBSplineSurface(const Handle(Geom_BSplineSurface)&)
Definition: Geometry.h:946
const Handle(Geom_Geometry) &handle() const
virtual ~GeomSurfaceOfExtrusion()
void setHandle(const Handle(Geom_BSplineCurve)&)
void copyNonTag(const Geom::Geometry *)
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.
@ Maximum
Definition: Geometry.h:762
virtual TopoDS_Shape toShape() const =0
Base::Vector3d getFocus(void) const
virtual GeomBSplineCurve * toNurbs(double first, double last) 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 setHandle(const Handle(Geom_TrimmedCurve)&)
virtual ~GeomTrimmedCurve()
virtual Base::Vector3d getStartPoint() const
Definition: Geometry.h:405
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:44
GeomPlateSurface(const Handle(GeomPlate_Surface)&)
void setMajorRadius(double Radius)
virtual Geometry * copy(void) const
void setHandle(const Handle(Geom_Line)&)
Definition: Geometry.h:1042
virtual Geometry * copy(void) const
Definition: Geometry.h:923
void getCardinalSplineTangents(const std::vector< gp_Pnt > &, double, std::vector< gp_Vec > &) const
virtual Geometry * copy(void) const
bool hasExtension(std::string name) const
virtual ~GeomBSplineCurve()
virtual ~GeomOffsetSurface()
void setRadius(double Radius)
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.
Base::Vector3d getMajorAxisDir() const
Definition: Geometry.h:525
const Handle(Geom_Geometry) &handle() const
void setMinorRadius(double Radius)
virtual Geometry * copy(void) const
double getMinorRadius(void) const
@ Minimum
Definition: Geometry.h:763
virtual Geometry * copy(void) const
virtual Geometry * copy(void) const
GeomOffsetCurve(const Handle(Geom_Curve)&, double, Base::Vector3d &)
const Handle(Geom_Geometry) &handle() const
virtual GeomBSplineCurve * toNurbs(double first, double last) const
Definition: AbstractXMLReader.h:7
const Handle(Geom_Geometry) &handle() const
LX_GEOM_EXPORT bool find2DLinesIntersection(const Base::Vector3d &orig1, const Base::Vector3d &dir1, const Base::Vector3d &orig2, const Base::Vector3d &dir2, Base::Vector3d &point)
void setHandle(const Handle(Geom_TrimmedCurve)&)
virtual Base::Vector3d getEndPoint() const
Definition: Geometry.h:406
virtual void setRange(double u, double v, bool emulateCCWXY)
GeomBSplineCurve * toBSpline(double first, double last) const
toBSpline Converts the curve to a B-spline
std::weak_ptr< GeometryExtension > getExtension(Base::Type type)
GeomOffsetSurface(const Handle(Geom_Surface)&, double)
virtual Geometry * copy(void) const
virtual ~GeomOffsetCurve()
void setMajorRadius(double Radius)
virtual Geometry * copy(void) const =0
virtual Geometry * copy(void) const
GeomOffsetCurve(const Handle(Geom_OffsetCurve)&)
void setKnot(int index, const double val, int mult=-1)
bool normal(double u, double v, gp_Dir &dir) const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
GeomSurfaceOfRevolution()
Base::Vector3d getStartPoint() const
LX_GEOM_EXPORT double suggestFilletRadius(const GeomLineSegment *lineSeg1, const GeomLineSegment *lineSeg2, const Base::Vector3d &refPnt1, const Base::Vector3d &refPnt2)
bool join(const Handle(Geom_BSplineCurve)&)
Definition: Geometry.h:213
Geometry * clone(void) const
virtual ~GeomBezierSurface()
Base::Vector3d getMajorAxisDir() const
virtual Geometry * copy(void) const
virtual Geometry * copy(void) const =0
TopoDS_Shape toShape() const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
static bool intersect(const Handle(Geom_Curve) c, const Handle(Geom_Curve) c2, std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &points, double tol=::Precision::Confusion())
double getMinorRadius(void) const
void assignTag(const Geom::Geometry *)
copies the tag from the geometry passed as a parameter to this object
Definition: Geometry.h:250
double curvature(double u, double v, Curvature) const
void setHandle(const Handle(Geom_BezierSurface)&b)
void interpolate(const std::vector< gp_Pnt > &, const std::vector< gp_Vec > &)
@ Mean
Definition: Geometry.h:764
const Handle(Geom_Geometry) &handle() const
const Handle(Geom_Geometry) &handle() const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setMinorRadius(double Radius)
GeomSurfaceOfRevolution(const Handle(Geom_SurfaceOfRevolution)&)
void mirror(const Base::Vector3d &point)
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::Vector3d getDir(void) const
std::vector< Base::Vector3d > getPoles() const
GeomBezierCurve(const std::vector< Base::Vector3d > &, const std::vector< double > &)
virtual ~GeomArcOfEllipse()
virtual Geometry * copy(void) const
bool hasExtension(Base::Type type) const
Definition: Geometry.h:831
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.
std::weak_ptr< const GeometryExtension > getExtension(std::string name) const
GeomPoint(const Geom::Pnt &aPnt)
virtual GeomBSplineCurve * toNurbs(double first, double last) const
virtual GeomBSplineCurve * toNurbs(double first, double last) const
virtual void setRange(double u, double v, bool emulateCCWXY)
const Handle(Geom_Geometry) &handle() const
LX_GEOM_EXPORT std::unique_ptr< GeomSurface > makeFromSurface(const Handle(Geom_Surface)&)
std::vector< std::weak_ptr< const GeometryExtension > > getExtensions() const
const Handle(Geom_Geometry) &handle() const
Definition: Geometry.h:331
const Handle(Geom_Geometry) &handle() const =0
std::weak_ptr< const GeometryExtension > getExtension(Base::Type type) const
bool approximate(double tol3d, int maxSegments, int maxDegree, int continuity)
void getCardinalSplineTangents(const std::vector< gp_Pnt > &, const std::vector< double > &, std::vector< gp_Vec > &) const
GeomSurfaceOfExtrusion(const Handle(Geom_Curve)&, const gp_Dir &)
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 setPole(int index, const Base::Vector3d &, double weight=-1)
void setPoles(const std::vector< Base::Vector3d > &poles, const std::vector< double > &weights)
virtual void setRange(double u, double v)
Definition: Geometry.h:424
void setHandle(const Handle(Geom_CylindricalSurface)&)
void setWeights(const std::vector< double > &weights)
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.
GeomLineSegment(const Geom::Lin &aLin, double aParam1, double aParam2)
Base::Vector3d pointAtParameter(double u) const
GeomBezierSurface(const Handle(Geom_BezierSurface)&)
Definition: Geometry.h:676
void setHandle(const Handle(Geom_Circle)&)
GeomArcOfCircle(const Handle(Geom_Circle)&)
GeomBezierCurve(const Handle(Geom_BezierCurve)&)
Base::Vector3d getMajorAxisDir() const
Base::Vector3d 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.
std::vector< Base::Vector3d > getPoles() const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
virtual GeomBSplineCurve * toNurbs(double first, double last) const
virtual ~GeomBezierCurve()
bool intersect(GeomCurve *c, std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &points, double tol=::Precision::Confusion()) const
bool closestParameter(const Base::Vector3d &point, double &u) const
void setHandle(const Handle(Geom_Line)&)
Definition: Geometry.h:436
void transform(const Base::Matrix4D &mat)
GeomBSplineCurve(const Handle(Geom_BSplineCurve)&)
std::list< Geometry * > toBiArcs(double tolerance) const
virtual Geometry * copy(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.
double curvatureAt(double u) const
void setCenter(const Base::Vector3d &Center)
setCenter
double getLastParameter() const
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
Definition: Geometry.h:970
Definition: Geometry.h:464
Base::Vector3d getEndPoint(bool emulateCCWXY) 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 translate(const Base::Vector3d &vec)
void setHandle(const Handle(Geom_Ellipse) &e)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void deleteExtension(Base::Type type)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setHandle(const Handle(Geom_RectangularTrimmedSurface)&s)
boost::uuids::uuid tag
Definition: Geometry.h:129
const Handle(Geom_Geometry) &handle() const
void setHandle(const Handle(Geom_ToroidalSurface)&)
void setHandle(const Handle(Geom_Ellipse)&)
Definition: Geometry.h:758
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.
LX_GEOM_EXPORT std::unique_ptr< GeomCurve > makeFromCurve(const Handle(Geom_Curve)&)
void setMajorRadius(double Radius)
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 getRange(double &u, double &v, bool emulateCCWXY) const
void setHandle(const Handle(Geom_OffsetCurve)&c)
void setExtension(std::unique_ptr< GeometryExtension > &&geo)
Definition: Geometry.h:785
std::vector< double > getWeights() const
const Handle(Geom_Geometry) &handle() const
GeomPoint(const Base::Vector3d &)
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.
#define TYPESYSTEM_HEADER()
define for subclassing Base::BaseClass
Definition: Base.h:12
GeomParabola(const Handle(Geom_Parabola)&)
void increaseDegree(int degree)
GeomCircle(const Handle(Geom_Circle)&)
virtual GeomBSplineCurve * toNurbs(double first, double last) 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 setHandle(const Handle(Geom_Hyperbola)&)
void setFocal(double length)
void setHandle(const Handle(Geom_Parabola)&)
virtual ~GeomBoundedCurve()
GeomArcOfEllipse(const Handle(Geom_Ellipse)&)
Handle(Geom_TrimmedCurve) myCurve
virtual Geometry * copy(void) const
double getMinorRadius(void) const
const Handle(Geom_Geometry) &handle() const
Base::Vector3d getCenter(void) const
getCenter
double getMinorRadius(void) const
double getRadius(void) const
const Handle(Geom_Geometry) &handle() const
bool removeKnot(int index, int multiplicity, double tolerance=::Precision::PConfusion())
void setFocal(double length)
GeomArcOfParabola(const Handle(Geom_Parabola)&)
virtual Geometry * copy(void) const
void createNewTag()
create a new tag for the geometry object
double getRadius(void) const
GeomCylinder(const Handle(Geom_CylindricalSurface)&)
Base::Vector3d getLocation(void) const
virtual void setRange(double u, double v)
virtual TopoDS_Shape toShape() const
GeomHyperbola(const Handle(Geom_Hyperbola)&)
virtual void restore(Base::AbstractXMLReader &, Base::PersistenceVersion &) override
This method is used to restore properties from an XML document.
void setMajorRadius(double Radius)
Definition: AbstractXMLReader.h:5
Definition: PropertyContainer.h:33
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(Geom_Geometry) &handle() const
Base::Vector3d getStartPoint(bool emulateCCWXY) const
void setHandle(const Handle(Geom_Plane)&)
Base::Vector3d getPos(void) const
LX_GEOM_EXPORT std::unique_ptr< GeomCurve > makeFromCurveAdaptor(const Adaptor3d_Curve &)