OpenLexocad
27.1
|
#include <Geometry.h>
Public Member Functions | |
virtual | ~Geometry () |
virtual TopoDS_Shape | toShape () const =0 |
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) |
![]() | |
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... | |
![]() | |
virtual Type | getTypeId (void) const |
template<typename T > | |
bool | isDerivedFrom () const |
bool | isDerivedFrom (const Type type) const |
BaseClass () | |
Construction. More... | |
virtual | ~BaseClass () |
Destruction. More... | |
Protected Member Functions | |
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 | |
boost::uuids::uuid | tag |
std::vector< std::shared_ptr< GeometryExtension > > | extensions |
Additional Inherited Members | |
![]() | |
static std::string | encodeAttribute (const std::string &) |
![]() | |
static Type | getClassTypeId (void) |
static void | init (void) |
static void * | create (void) |
static void | setIfcNameAndID (const std::string &n, int id) |
![]() | |
long | ____deadVal = 0xBADEAFFE |
![]() | |
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) |
|
virtual |
|
protected |
|
protected |
copies the tag from the geometry passed as a parameter to this object
Geometry* Geom::Geometry::clone | ( | void | ) | const |
returns a cloned object. A cloned object has the same tag (see getTag) as the original object. if you want a copy not having the same tag, you can use copy() instead. If you want a clone with another geometry handle, it is possible to clone an object and then assign another handle or to create an object via constructor and use assignTag to assign the tag of the other geometry. If you do not desire to have the same tag, then a copy can be performed by using a constructor (which will generate another tag) and then, if necessary (e.g. if the constructor did not take a handle as a parameter), set a new handle.
|
pure 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.
Implemented in Geom::GeomSurfaceOfExtrusion, Geom::GeomSurfaceOfRevolution, Geom::GeomTrimmedSurface, Geom::GeomPlateSurface, Geom::GeomOffsetSurface, Geom::GeomPlane, Geom::GeomToroid, Geom::GeomSphere, Geom::GeomCone, Geom::GeomCylinder, Geom::GeomBSplineSurface, Geom::GeomBezierSurface, Geom::GeomOffsetCurve, Geom::GeomLineSegment, Geom::GeomLine, Geom::GeomArcOfParabola, Geom::GeomParabola, Geom::GeomArcOfHyperbola, Geom::GeomHyperbola, Geom::GeomArcOfEllipse, Geom::GeomEllipse, Geom::GeomArcOfCircle, Geom::GeomCircle, Geom::GeomArcOfConic, Geom::GeomTrimmedCurve, Geom::GeomConic, Geom::GeomBSplineCurve, Geom::GeomBezierCurve, and Geom::GeomPoint.
|
protected |
|
protected |
create a new tag for the geometry object
void Geom::Geometry::deleteExtension | ( | Base::Type | type | ) |
void Geom::Geometry::deleteExtension | ( | std::string | name | ) |
std::weak_ptr<const GeometryExtension> Geom::Geometry::getExtension | ( | Base::Type | type | ) | const |
std::weak_ptr<const GeometryExtension> Geom::Geometry::getExtension | ( | std::string | name | ) | const |
std::weak_ptr<GeometryExtension> Geom::Geometry::getExtension | ( | Base::Type | type | ) |
std::weak_ptr<GeometryExtension> Geom::Geometry::getExtension | ( | std::string | name | ) |
std::vector<std::weak_ptr<const GeometryExtension> > Geom::Geometry::getExtensions | ( | ) | const |
boost::uuids::uuid Geom::Geometry::getTag | ( | ) | const |
returns the tag of the geometry object
|
pure virtual |
Implemented in Geom::GeomSurfaceOfExtrusion, Geom::GeomSurfaceOfRevolution, Geom::GeomTrimmedSurface, Geom::GeomPlateSurface, Geom::GeomOffsetSurface, Geom::GeomPlane, Geom::GeomToroid, Geom::GeomSphere, Geom::GeomCone, Geom::GeomCylinder, Geom::GeomBSplineSurface, Geom::GeomBezierSurface, Geom::GeomOffsetCurve, Geom::GeomLineSegment, Geom::GeomLine, Geom::GeomArcOfParabola, Geom::GeomParabola, Geom::GeomArcOfHyperbola, Geom::GeomHyperbola, Geom::GeomArcOfEllipse, Geom::GeomEllipse, Geom::GeomArcOfCircle, Geom::GeomCircle, Geom::GeomArcOfConic, Geom::GeomTrimmedCurve, Geom::GeomConic, Geom::GeomBSplineCurve, Geom::GeomBezierCurve, and Geom::GeomPoint.
bool Geom::Geometry::hasExtension | ( | Base::Type | type | ) | const |
bool Geom::Geometry::hasExtension | ( | std::string | name | ) | const |
void Geom::Geometry::mirror | ( | const Base::Vector3d & | point | ) |
void Geom::Geometry::mirror | ( | const Base::Vector3d & | point, |
const Base::Vector3d & | dir | ||
) |
|
overridevirtual |
This method is used to restore properties from an XML document.
Implements Base::Persistence.
Reimplemented in Geom::GeomSurfaceOfExtrusion, Geom::GeomSurfaceOfRevolution, Geom::GeomTrimmedSurface, Geom::GeomPlateSurface, Geom::GeomOffsetSurface, Geom::GeomPlane, Geom::GeomToroid, Geom::GeomSphere, Geom::GeomCone, Geom::GeomCylinder, Geom::GeomBSplineSurface, Geom::GeomBezierSurface, Geom::GeomOffsetCurve, Geom::GeomLineSegment, Geom::GeomLine, Geom::GeomArcOfParabola, Geom::GeomParabola, Geom::GeomArcOfHyperbola, Geom::GeomHyperbola, Geom::GeomArcOfEllipse, Geom::GeomEllipse, Geom::GeomArcOfCircle, Geom::GeomCircle, Geom::GeomTrimmedCurve, Geom::GeomBSplineCurve, Geom::GeomBezierCurve, and Geom::GeomPoint.
void Geom::Geometry::rotate | ( | const Base::Placement & | plm | ) |
|
overridevirtual |
This method is used to save properties or very small amounts of data to an XML document.
Implements Base::Persistence.
Reimplemented in Geom::GeomSurfaceOfExtrusion, Geom::GeomSurfaceOfRevolution, Geom::GeomTrimmedSurface, Geom::GeomPlateSurface, Geom::GeomOffsetSurface, Geom::GeomPlane, Geom::GeomToroid, Geom::GeomSphere, Geom::GeomCone, Geom::GeomCylinder, Geom::GeomBSplineSurface, Geom::GeomBezierSurface, Geom::GeomOffsetCurve, Geom::GeomLineSegment, Geom::GeomLine, Geom::GeomArcOfParabola, Geom::GeomParabola, Geom::GeomArcOfHyperbola, Geom::GeomHyperbola, Geom::GeomArcOfEllipse, Geom::GeomEllipse, Geom::GeomArcOfCircle, Geom::GeomCircle, Geom::GeomTrimmedCurve, Geom::GeomBSplineCurve, Geom::GeomBezierCurve, and Geom::GeomPoint.
void Geom::Geometry::scale | ( | const Base::Vector3d & | vec, |
double | scale | ||
) |
void Geom::Geometry::setExtension | ( | std::unique_ptr< GeometryExtension > && | geo | ) |
|
pure virtual |
Implemented in Geom::GeomSurface, Geom::GeomCurve, and Geom::GeomPoint.
void Geom::Geometry::transform | ( | const Base::Matrix4D & | mat | ) |
void Geom::Geometry::translate | ( | const Base::Vector3d & | vec | ) |
|
protected |
|
protected |