OpenLexocad
28.0
|
#include <ComplexGeoData.h>
Classes | |
struct | Domain |
struct | Facet |
struct | Line |
Public Member Functions | |
ComplexGeoData (void) | |
Constructor. More... | |
Subelement management | |
virtual std::vector< const char * > | getElementTypes (void) const =0 |
virtual unsigned long | countSubElements (const char *Type) const =0 |
virtual Segment * | getSubElement (const char *Type, unsigned long) const =0 |
get the subelement by type and number More... | |
virtual Segment * | getSubElementByName (const char *Name) const |
get subelement by combined name More... | |
virtual void | getLinesFromSubelement (const Segment *, std::vector< Base::Vector3d > &Points, std::vector< Line > &lines) const |
virtual void | getFacesFromSubelement (const Segment *, std::vector< Base::Vector3d > &Points, std::vector< Base::Vector3d > &PointNormals, std::vector< Facet > &faces) const |
Placement control | |
void | applyTransform (const Base::Matrix4D &rclTrf) |
void | applyTranslation (const Base::Vector3d &) |
void | applyRotation (const Base::Rotation &) |
void | setPlacement (const Base::Placement &rclPlacement) |
Base::Placement | getPlacement () const |
virtual void | setTransform (const Base::Matrix4D &rclTrf)=0 |
virtual Base::Matrix4D | getTransform (void) const =0 |
Modification | |
virtual void | transformGeometry (const Base::Matrix4D &rclMat)=0 |
Applies a transformation on the real geometric data type. More... | |
Getting basic geometric entities | |
virtual Base::BoundBox3d | getBoundBox (void) const =0 |
Get the bound box. More... | |
virtual Base::Vector3d | getPointFromLineIntersection (const Base::Vector3f &base, const Base::Vector3f &dir) const |
virtual void | getPoints (std::vector< Base::Vector3d > &Points, std::vector< Base::Vector3d > &Normals, float Accuracy, uint16_t flags=0) const |
virtual void | getLines (std::vector< Base::Vector3d > &Points, std::vector< Line > &lines, float Accuracy, uint16_t flags=0) const |
virtual void | getFaces (std::vector< Base::Vector3d > &Points, std::vector< Facet > &faces, float Accuracy, uint16_t flags=0) const |
virtual bool | getCenterOfGravity (Base::Vector3d ¢er) const |
![]() | |
virtual void | save (Base::AbstractWriter &, Base::PersistenceVersion &)=0 |
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 &)=0 |
This method is used to restore properties from an XML document. More... | |
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 |
void * | operator new (size_t size) |
void | operator delete (void *p) |
BaseClass * | operator-> () |
BaseClass * | operator-> () const |
BaseClass ()=default | |
Construction. More... | |
virtual | ~BaseClass () |
Destruction. More... | |
![]() | |
Handled () | |
virtual | ~Handled () |
void | ref () const |
void | unref () const |
int | getRefCount (void) const |
const Handled & | operator= (const Handled &) |
Element name mapping | |
long | Tag |
static const std::string & | elementMapPrefix () |
Special prefix to mark the beginning of a mapped sub-element name. More... | |
static const std::string & | tagPostfix () |
Special postfix to mark the following tag. More... | |
static const std::string & | indexPostfix () |
Special postfix to mark the index of an array element. More... | |
static const std::string & | missingPrefix () |
Special prefix to mark a missing element. More... | |
static bool | hasMissingElement (const char *subname) |
Check if a subname contains missing element. More... | |
static const char * | isMappedElement (const char *name) |
static std::string | newElementName (const char *name) |
Strip out the trailing element name if there is mapped element name precedes it. More... | |
static std::string | oldElementName (const char *name) |
Strip out the mapped element name if there is one. More... | |
static std::string | noElementName (const char *name) |
Strip out the old and new element name if there is one. More... | |
static const char * | findElementName (const char *subname) |
Find the start of an element name in a subname. More... | |
static const char * | hasMappedElementName (const char *subname) |
Base::Vector3d | transformToOutside (const Base::Vector3f &vec) const |
from local to outside More... | |
Base::Vector3f | transformToInside (const Base::Vector3d &vec) const |
from local to inside More... | |
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) |
ComplexGeoData Object
Data::ComplexGeoData::ComplexGeoData | ( | void | ) |
Constructor.
void Data::ComplexGeoData::applyRotation | ( | const Base::Rotation & | ) |
Applies an additional rotation to the current transformation.
void Data::ComplexGeoData::applyTransform | ( | const Base::Matrix4D & | rclTrf | ) |
Applies an additional transformation to the current transformation.
void Data::ComplexGeoData::applyTranslation | ( | const Base::Vector3d & | ) |
Applies an additional translation to the current transformation.
|
pure virtual |
|
static |
Special prefix to mark the beginning of a mapped sub-element name.
|
static |
Find the start of an element name in a subname.
|
pure virtual |
Get the bound box.
|
virtual |
Get the center of gravity If this method is implemented then true is returned and the center of gravity. The default implementation only returns false.
|
pure virtual |
Sub type list List of different subelement types its NOT a list of the subelements itself
|
virtual |
Get faces from object with given accuracy
|
virtual |
Get faces from segment
|
virtual |
Get lines from object with given accuracy
|
virtual |
Get lines from segment
Base::Placement Data::ComplexGeoData::getPlacement | ( | ) | const |
Return the current transformation as placement using getTransform().
|
virtual |
Get point from line object intersection
|
virtual |
Get points from object with given accuracy
|
pure virtual |
get the subelement by type and number
|
virtual |
get subelement by combined name
|
pure virtual |
Return the current matrix This method has to be handled by the child classes. the actual placement and matrix is not part of this class.
|
inlinestatic |
|
static |
Check if a subname contains missing element.
|
static |
Special postfix to mark the index of an array element.
|
static |
Check if the name starts with elementMapPrefix()
name | input name |
|
static |
Special prefix to mark a missing element.
|
static |
Strip out the trailing element name if there is mapped element name precedes it.
|
static |
Strip out the old and new element name if there is one.
|
static |
Strip out the mapped element name if there is one.
void Data::ComplexGeoData::setPlacement | ( | const Base::Placement & | rclPlacement | ) |
Override the current transformation with a placement using the setTransform() method.
|
pure virtual |
Override the current transformation with the new one. This method has to be handled by the child classes. the actual placement and matrix is not part of this class.
|
static |
Special postfix to mark the following tag.
|
pure virtual |
Applies a transformation on the real geometric data type.
|
inlineprotected |
from local to inside
|
inlineprotected |
from local to outside
|
mutable |