OpenLexocad
27.1
|
#include <Geometry.h>
Public Member Functions | |
GeomCurve () | |
virtual | ~GeomCurve () |
TopoDS_Shape | toShape () const |
GeomBSplineCurve * | toBSpline (double first, double last) const |
toBSpline Converts the curve to a B-spline More... | |
virtual GeomBSplineCurve * | toNurbs (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 Geometry * | copy (void) const =0 |
Geometry * | clone (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 GeometryExtension > | getExtension (Base::Type type) const |
std::weak_ptr< const GeometryExtension > | getExtension (std::string name) const |
std::weak_ptr< GeometryExtension > | getExtension (Base::Type type) |
std::weak_ptr< GeometryExtension > | getExtension (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 |
Geom::GeomCurve::GeomCurve | ( | ) |
|
virtual |
bool Geom::GeomCurve::closestParameter | ( | const Base::Vector3d & | point, |
double & | u | ||
) | const |
bool Geom::GeomCurve::closestParameterToBasisCurve | ( | const Base::Vector3d & | point, |
double & | u | ||
) | const |
double Geom::GeomCurve::curvatureAt | ( | double | u | ) | const |
Base::Vector3d Geom::GeomCurve::firstDerivativeAtParameter | ( | double | u | ) | const |
double Geom::GeomCurve::getFirstParameter | ( | ) | const |
double Geom::GeomCurve::getLastParameter | ( | ) | const |
bool Geom::GeomCurve::intersect | ( | GeomCurve * | c, |
std::vector< std::pair< Base::Vector3d, Base::Vector3d >> & | points, | ||
double | tol = ::Precision::Confusion() |
||
) | const |
|
staticprotected |
double Geom::GeomCurve::length | ( | double | u, |
double | v | ||
) | const |
bool Geom::GeomCurve::normalAt | ( | double | u, |
Base::Vector3d & | dir | ||
) | const |
Base::Vector3d Geom::GeomCurve::pointAtParameter | ( | double | u | ) | const |
void Geom::GeomCurve::reverse | ( | void | ) |
Base::Vector3d Geom::GeomCurve::secondDerivativeAtParameter | ( | double | u | ) | const |
bool Geom::GeomCurve::tangent | ( | double | u, |
gp_Dir & | |||
) | const |
bool Geom::GeomCurve::tangent | ( | double | u, |
Base::Vector3d & | dir | ||
) | const |
GeomBSplineCurve* Geom::GeomCurve::toBSpline | ( | double | first, |
double | last | ||
) | const |
toBSpline Converts the curve to a B-spline
This | is the start parameter of the curve |
This | is the end parameter of the curve |
|
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.
|
virtual |
Implements Geom::Geometry.