OpenLexocad  27.1
Geom::GeomCurve Class Reference

#include <Geometry.h>

Inheritance diagram for Geom::GeomCurve:
Geom::Geometry Base::Persistence Base::BaseClass Geom::GeomBoundedCurve Geom::GeomConic Geom::GeomLine Geom::GeomOffsetCurve Geom::GeomBezierCurve Geom::GeomBSplineCurve Geom::GeomTrimmedCurve Geom::GeomCircle Geom::GeomEllipse Geom::GeomHyperbola Geom::GeomParabola Geom::GeomArcOfConic Geom::GeomLineSegment Geom::GeomArcOfCircle Geom::GeomArcOfEllipse Geom::GeomArcOfHyperbola Geom::GeomArcOfParabola

Public Member Functions

 GeomCurve ()
 
virtual ~GeomCurve ()
 
TopoDS_Shape toShape () const
 
GeomBSplineCurvetoBSpline (double first, double last) const
 toBSpline Converts the curve to a B-spline More...
 
virtual GeomBSplineCurvetoNurbs (double first, double last) const
 
bool tangent (double u, gp_Dir &) const
 
bool tangent (double u, Base::Vector3d &dir) const
 
Base::Vector3d pointAtParameter (double u) const
 
Base::Vector3d firstDerivativeAtParameter (double u) const
 
Base::Vector3d secondDerivativeAtParameter (double u) const
 
bool closestParameter (const Base::Vector3d &point, double &u) const
 
bool closestParameterToBasisCurve (const Base::Vector3d &point, double &u) const
 
double getFirstParameter () const
 
double getLastParameter () const
 
double curvatureAt (double u) const
 
double length (double u, double v) const
 
bool normalAt (double u, Base::Vector3d &dir) const
 
bool intersect (GeomCurve *c, std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &points, double tol=::Precision::Confusion()) const
 
void reverse (void)
 
- Public Member Functions inherited from Geom::Geometry
virtual ~Geometry ()
 
virtual const Handle (Geom_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. More...
 
virtual void restore (Base::AbstractXMLReader &, Base::PersistenceVersion &) override
 This method is used to restore properties from an XML document. More...
 
virtual Geometrycopy (void) const =0
 
Geometryclone (void) const
 
boost::uuids::uuid getTag () const
 returns the tag of the geometry object More...
 
std::vector< std::weak_ptr< const GeometryExtension > > getExtensions () const
 
bool hasExtension (Base::Type type) const
 
bool hasExtension (std::string name) const
 
std::weak_ptr< const GeometryExtensiongetExtension (Base::Type type) const
 
std::weak_ptr< const GeometryExtensiongetExtension (std::string name) const
 
std::weak_ptr< GeometryExtensiongetExtension (Base::Type type)
 
std::weak_ptr< GeometryExtensiongetExtension (std::string name)
 
void setExtension (std::unique_ptr< GeometryExtension > &&geo)
 
void deleteExtension (Base::Type type)
 
void deleteExtension (std::string name)
 
void mirror (const Base::Vector3d &point)
 
void mirror (const Base::Vector3d &point, const Base::Vector3d &dir)
 
void rotate (const Base::Placement &plm)
 
void scale (const Base::Vector3d &vec, double scale)
 
void transform (const Base::Matrix4D &mat)
 
void translate (const Base::Vector3d &vec)
 
- Public Member Functions inherited from Base::Persistence
virtual void saveDocFile (Base::AbstractWriter &, const Base::String &, const Base::String &)
 This method is used to save large amounts of data to a binary file. More...
 
virtual void restoreDocFile (Base::Reader &, const Base::String &)
 This method is used to restore large amounts of data from a binary file. More...
 
virtual bool mustbeSaved () const
 Return 'true' if this object must always be saved in the file. More...
 
virtual bool createSQL (Base::AbstractWriter &, Base::PersistenceVersion &, bool)
 This method is used to save properties or very small amounts of data to an XML document. More...
 
- Public Member Functions inherited from Base::BaseClass
virtual Type getTypeId (void) const
 
template<typename T >
bool isDerivedFrom () const
 
bool isDerivedFrom (const Type type) const
 
 BaseClass ()
 Construction. More...
 
virtual ~BaseClass ()
 Destruction. More...
 

Static Protected Member Functions

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())
 
- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=0)
 
static void initIfcTypes (const std::string &s, Base::Type classTypeId, int id)
 

Additional Inherited Members

- Static Public Member Functions inherited from Base::Persistence
static std::string encodeAttribute (const std::string &)
 
- Static Public Member Functions inherited from Base::BaseClass
static Type getClassTypeId (void)
 
static void init (void)
 
static void * create (void)
 
static void setIfcNameAndID (const std::string &n, int id)
 
- Public Attributes inherited from Base::BaseClass
long ____deadVal = 0xBADEAFFE
 
- Protected Member Functions inherited from Geom::Geometry
void createNewTag ()
 create a new tag for the geometry object More...
 
void assignTag (const Geom::Geometry *)
 copies the tag from the geometry passed as a parameter to this object More...
 
void copyNonTag (const Geom::Geometry *)
 
 Geometry ()
 
- Protected Attributes inherited from Geom::Geometry
boost::uuids::uuid tag
 
std::vector< std::shared_ptr< GeometryExtension > > extensions
 

Constructor & Destructor Documentation

◆ GeomCurve()

Geom::GeomCurve::GeomCurve ( )

◆ ~GeomCurve()

virtual Geom::GeomCurve::~GeomCurve ( )
virtual

Member Function Documentation

◆ closestParameter()

bool Geom::GeomCurve::closestParameter ( const Base::Vector3d point,
double &  u 
) const

◆ closestParameterToBasisCurve()

bool Geom::GeomCurve::closestParameterToBasisCurve ( const Base::Vector3d point,
double &  u 
) const

◆ curvatureAt()

double Geom::GeomCurve::curvatureAt ( double  u) const

◆ firstDerivativeAtParameter()

Base::Vector3d Geom::GeomCurve::firstDerivativeAtParameter ( double  u) const

◆ getFirstParameter()

double Geom::GeomCurve::getFirstParameter ( ) const

◆ getLastParameter()

double Geom::GeomCurve::getLastParameter ( ) const

◆ intersect() [1/2]

bool Geom::GeomCurve::intersect ( GeomCurve c,
std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &  points,
double  tol = ::Precision::Confusion() 
) const

◆ intersect() [2/2]

static bool Geom::GeomCurve::intersect ( const Handle(Geom_Curve)  c,
const Handle(Geom_Curve)  c2,
std::vector< std::pair< Base::Vector3d, Base::Vector3d >> &  points,
double  tol = ::Precision::Confusion() 
)
staticprotected

◆ length()

double Geom::GeomCurve::length ( double  u,
double  v 
) const

◆ normalAt()

bool Geom::GeomCurve::normalAt ( double  u,
Base::Vector3d dir 
) const

◆ pointAtParameter()

Base::Vector3d Geom::GeomCurve::pointAtParameter ( double  u) const

◆ reverse()

void Geom::GeomCurve::reverse ( void  )

◆ secondDerivativeAtParameter()

Base::Vector3d Geom::GeomCurve::secondDerivativeAtParameter ( double  u) const

◆ tangent() [1/2]

bool Geom::GeomCurve::tangent ( double  u,
gp_Dir &   
) const

◆ tangent() [2/2]

bool Geom::GeomCurve::tangent ( double  u,
Base::Vector3d dir 
) const

◆ toBSpline()

GeomBSplineCurve* Geom::GeomCurve::toBSpline ( double  first,
double  last 
) const

toBSpline Converts the curve to a B-spline

Parameters
Thisis the start parameter of the curve
Thisis the end parameter of the curve
Returns
a B-spline curve

◆ toNurbs()

virtual GeomBSplineCurve* Geom::GeomCurve::toNurbs ( double  first,
double  last 
) const
virtual

The default implementation does the same as toBSpline. In sub-classes this can be reimplemented to create a real NURBS curve and not just an approximation.

Reimplemented in Geom::GeomArcOfParabola, Geom::GeomParabola, Geom::GeomArcOfHyperbola, Geom::GeomHyperbola, Geom::GeomArcOfEllipse, Geom::GeomEllipse, Geom::GeomArcOfCircle, and Geom::GeomCircle.

◆ toShape()

TopoDS_Shape Geom::GeomCurve::toShape ( ) const
virtual

Implements Geom::Geometry.


The documentation for this class was generated from the following file: