OpenLexocad
27.1
|
#include <Geometry.h>
Public Member Functions | |
GeomBSplineCurve () | |
GeomBSplineCurve (const Handle(Geom_BSplineCurve)&) | |
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 | ~GeomBSplineCurve () |
virtual Geometry * | copy (void) const |
void | interpolate (const std::vector< gp_Pnt > &, const std::vector< gp_Vec > &) |
void | getCardinalSplineTangents (const std::vector< gp_Pnt > &, const std::vector< double > &, std::vector< gp_Vec > &) const |
void | getCardinalSplineTangents (const std::vector< gp_Pnt > &, double, std::vector< gp_Vec > &) const |
int | countPoles () const |
int | countKnots () const |
void | setPole (int index, const Base::Vector3d &, double weight=-1) |
void | setPoles (const std::vector< Base::Vector3d > &poles, const std::vector< double > &weights) |
void | setPoles (const std::vector< Base::Vector3d > &poles) |
void | setWeights (const std::vector< double > &weights) |
void | setKnot (int index, const double val, int mult=-1) |
void | setKnots (const std::vector< double > &knots) |
void | setKnots (const std::vector< double > &knots, const std::vector< int > &multiplicities) |
std::vector< Base::Vector3d > | getPoles () const |
std::vector< double > | getWeights () const |
std::vector< double > | getKnots () const |
std::vector< int > | getMultiplicities () const |
int | getMultiplicity (int index) const |
int | getDegree () const |
bool | isPeriodic () const |
bool | isRational () const |
bool | join (const Handle(Geom_BSplineCurve)&) |
void | makeC1Continuous (double, double) |
std::list< Geometry * > | toBiArcs (double tolerance) const |
void | increaseDegree (int degree) |
bool | approximate (double tol3d, int maxSegments, int maxDegree, int continuity) |
void | increaseMultiplicity (int index, int multiplicity) |
bool | removeKnot (int index, int multiplicity, double tolerance=::Precision::PConfusion()) |
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... | |
void | setHandle (const Handle(Geom_BSplineCurve)&) |
const | Handle (Geom_Geometry) &handle() const |
Public Member Functions inherited from Geom::GeomBoundedCurve | |
GeomBoundedCurve () | |
virtual | ~GeomBoundedCurve () |
virtual Base::Vector3d | getStartPoint () const |
virtual Base::Vector3d | getEndPoint () const |
Public Member Functions inherited from Geom::GeomCurve | |
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 () |
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... | |
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 () | |
Static Protected Member Functions inherited from Geom::GeomCurve | |
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) |
Protected Attributes inherited from Geom::Geometry | |
boost::uuids::uuid | tag |
std::vector< std::shared_ptr< GeometryExtension > > | extensions |
Geom::GeomBSplineCurve::GeomBSplineCurve | ( | ) |
Geom::GeomBSplineCurve::GeomBSplineCurve | ( | const Handle(Geom_BSplineCurve)& | ) |
Geom::GeomBSplineCurve::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 |
bool Geom::GeomBSplineCurve::approximate | ( | double | tol3d, |
int | maxSegments, | ||
int | maxDegree, | ||
int | continuity | ||
) |
|
virtual |
returns a copy of this object having a new randomly generated tag. If you also want to copy the tag, you may use clone() instead. For creation of geometry with other handles, with or without the same tag, you may use the constructors and the sethandle functions. The tag of a geometry can be copied to another geometry using the assignTag function.
Implements Geom::Geometry.
int Geom::GeomBSplineCurve::countKnots | ( | ) | const |
int Geom::GeomBSplineCurve::countPoles | ( | ) | const |
void Geom::GeomBSplineCurve::getCardinalSplineTangents | ( | const std::vector< gp_Pnt > & | , |
const std::vector< double > & | , | ||
std::vector< gp_Vec > & | |||
) | const |
Compute the tangents for a Cardinal spline using the the cubic Hermite spline. It uses the method for Cardinal splines.
void Geom::GeomBSplineCurve::getCardinalSplineTangents | ( | const std::vector< gp_Pnt > & | , |
double | , | ||
std::vector< gp_Vec > & | |||
) | const |
Compute the tangents for a Cardinal spline using the the cubic Hermite spline. It uses the method for Cardinal splines. It uses the same parameter for each tangent.
int Geom::GeomBSplineCurve::getDegree | ( | ) | const |
std::vector<double> Geom::GeomBSplineCurve::getKnots | ( | ) | const |
std::vector<int> Geom::GeomBSplineCurve::getMultiplicities | ( | ) | const |
int Geom::GeomBSplineCurve::getMultiplicity | ( | int | index | ) | const |
std::vector<Base::Vector3d> Geom::GeomBSplineCurve::getPoles | ( | ) | const |
std::vector<double> Geom::GeomBSplineCurve::getWeights | ( | ) | const |
|
virtual |
Implements Geom::Geometry.
void Geom::GeomBSplineCurve::increaseDegree | ( | int | degree | ) |
void Geom::GeomBSplineCurve::increaseMultiplicity | ( | int | index, |
int | multiplicity | ||
) |
void Geom::GeomBSplineCurve::interpolate | ( | const std::vector< gp_Pnt > & | , |
const std::vector< gp_Vec > & | |||
) |
Set the poles and tangents for the cubic Hermite spline
bool Geom::GeomBSplineCurve::isPeriodic | ( | ) | const |
bool Geom::GeomBSplineCurve::isRational | ( | ) | const |
bool Geom::GeomBSplineCurve::join | ( | const Handle(Geom_BSplineCurve)& | ) |
void Geom::GeomBSplineCurve::makeC1Continuous | ( | double | , |
double | |||
) |
bool Geom::GeomBSplineCurve::removeKnot | ( | int | index, |
int | multiplicity, | ||
double | tolerance = ::Precision::PConfusion() |
||
) |
|
overridevirtual |
This method is used to restore properties from an XML document.
Reimplemented from Geom::Geometry.
|
overridevirtual |
This method is used to save properties or very small amounts of data to an XML document.
Reimplemented from Geom::Geometry.
void Geom::GeomBSplineCurve::setHandle | ( | const Handle(Geom_BSplineCurve)& | ) |
void Geom::GeomBSplineCurve::setKnot | ( | int | index, |
const double | val, | ||
int | mult = -1 |
||
) |
void Geom::GeomBSplineCurve::setKnots | ( | const std::vector< double > & | knots | ) |
void Geom::GeomBSplineCurve::setKnots | ( | const std::vector< double > & | knots, |
const std::vector< int > & | multiplicities | ||
) |
void Geom::GeomBSplineCurve::setPole | ( | int | index, |
const Base::Vector3d & | , | ||
double | weight = -1 |
||
) |
void Geom::GeomBSplineCurve::setPoles | ( | const std::vector< Base::Vector3d > & | poles, |
const std::vector< double > & | weights | ||
) |
void Geom::GeomBSplineCurve::setPoles | ( | const std::vector< Base::Vector3d > & | poles | ) |
void Geom::GeomBSplineCurve::setWeights | ( | const std::vector< double > & | weights | ) |