ComplexGeoData Object. More...
#include <ComplexGeoData.h>
Classes | |
struct | Facet |
struct | Line |
Public Member Functions | |
ComplexGeoData (void) | |
Constructor. | |
virtual Base::Type | getTypeId (void) const |
virtual | ~ComplexGeoData () |
Destructor. | |
Placement control | |
void | applyRotation (const Base::Rotation &) |
Applies an additional rotation to the current transformation. | |
void | applyTransform (const Base::Matrix4D &rclTrf) |
Applies an additional transformation to the current transformation. | |
void | applyTranslation (const Base::Vector3d &) |
Applies an additional translation to the current transformation. | |
Base::Placement | getPlacement () const |
Return the current transformation as placement using getTransform(). | |
virtual Base::Matrix4D | getTransform (void) const =0 |
Return the current matrix This method has to be handled by the child classes. | |
void | setPlacement (const Base::Placement &rclPlacement) |
Override the current transformation with a placement using the setTransform() method. | |
virtual void | setTransform (const Base::Matrix4D &rclTrf)=0 |
Override the current transformation with the new one. | |
Subelement management | |
virtual unsigned long | countSubElements (const char *Type) const =0 |
virtual std::vector< const char * > | getElementTypes (void) const =0 |
Sub type list List of different subelement types its NOT a list of the subelements itself. | |
virtual void | getFacesFromSubelement (const Segment *, std::vector< Base::Vector3d > &Points, std::vector< Base::Vector3d > &PointNormals, std::vector< Facet > &faces) const |
Get faces from segment. | |
virtual void | getLinesFromSubelement (const Segment *, std::vector< Base::Vector3d > &Points, std::vector< Line > &lines) const |
Get lines from segment. | |
virtual Segment * | getSubElement (const char *Type, unsigned long) const =0 |
get the subelement by type and number | |
virtual Segment * | getSubElementByName (const char *Name) const |
get subelement by combined name | |
Getting basic geometric entities | |
virtual Base::BoundBox3d | getBoundBox (void) const =0 |
Get the bound box. | |
virtual void | getFaces (std::vector< Base::Vector3d > &Points, std::vector< Facet > &faces, float Accuracy, uint16_t flags=0) const |
Get faces from object with given accuracy. | |
virtual void | getLines (std::vector< Base::Vector3d > &Points, std::vector< Line > &lines, float Accuracy, uint16_t flags=0) const |
Get lines from object with given accuracy. | |
virtual Base::Vector3d | getPointFromLineIntersection (const Base::Vector3f &Base, const Base::Vector3f &Dir) const |
Get point from line object intersection. | |
virtual void | getPoints (std::vector< Base::Vector3d > &Points, float Accuracy, uint16_t flags=0) const |
Get points from object with given accuracy. | |
Modification | |
virtual void | transformGeometry (const Base::Matrix4D &rclMat)=0 |
Applies a transformation on the real geometric data type. | |
Static Public Member Functions | |
static void * | create (void) |
static Base::Type | getClassTypeId (void) |
static void | init (void) |
Protected Member Functions | |
Base::Vector3f | transformToInside (const Base::Vector3d &vec) const |
from local to inside | |
Base::Vector3d | transformToOutside (const Base::Vector3f &vec) const |
from local to outside |
ComplexGeoData Object.
Definition at line 57 of file ComplexGeoData.h.
ComplexGeoData::ComplexGeoData | ( | void | ) |
Constructor.
Definition at line 41 of file ComplexGeoData.cpp.
ComplexGeoData::~ComplexGeoData | ( | void | ) | [virtual] |
Destructor.
Definition at line 45 of file ComplexGeoData.cpp.
void ComplexGeoData::applyRotation | ( | const Base::Rotation & | rot | ) |
Applies an additional rotation to the current transformation.
Definition at line 74 of file ComplexGeoData.cpp.
References getTransform(), Base::Rotation::getValue(), and setTransform().
void ComplexGeoData::applyTransform | ( | const Base::Matrix4D & | rclTrf | ) |
Applies an additional transformation to the current transformation.
Definition at line 62 of file ComplexGeoData.cpp.
References getTransform(), and setTransform().
void ComplexGeoData::applyTranslation | ( | const Base::Vector3d & | mov | ) |
Applies an additional translation to the current transformation.
Definition at line 67 of file ComplexGeoData.cpp.
References getTransform(), Base::Matrix4D::move(), and setTransform().
virtual unsigned long Data::ComplexGeoData::countSubElements | ( | const char * | Type | ) | const [pure virtual] |
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Referenced by Raytracing::PovTools::writeData().
void * Data::ComplexGeoData::create | ( | void | ) | [static] |
Reimplemented from Base::Persistence.
Reimplemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Definition at line 38 of file ComplexGeoData.cpp.
virtual Base::BoundBox3d Data::ComplexGeoData::getBoundBox | ( | void | ) | const [pure virtual] |
Get the bound box.
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Referenced by InspectionGui::ViewProviderInspection::updateData().
Base::Type Data::ComplexGeoData::getClassTypeId | ( | void | ) | [static] |
Reimplemented from Base::Persistence.
Reimplemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Definition at line 38 of file ComplexGeoData.cpp.
virtual std::vector<const char*> Data::ComplexGeoData::getElementTypes | ( | void | ) | const [pure virtual] |
Sub type list List of different subelement types its NOT a list of the subelements itself.
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
virtual void Data::ComplexGeoData::getFaces | ( | std::vector< Base::Vector3d > & | Points, | |
std::vector< Facet > & | faces, | |||
float | Accuracy, | |||
uint16_t | flags = 0 | |||
) | const [inline, virtual] |
Get faces from object with given accuracy.
Reimplemented in Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Definition at line 145 of file ComplexGeoData.h.
Referenced by InspectionGui::ViewProviderInspection::updateData().
virtual void Data::ComplexGeoData::getFacesFromSubelement | ( | const Segment * | , | |
std::vector< Base::Vector3d > & | Points, | |||
std::vector< Base::Vector3d > & | PointNormals, | |||
std::vector< Facet > & | faces | |||
) | const [inline, virtual] |
Get faces from segment.
Reimplemented in Mesh::MeshObject, and Part::TopoShape.
Definition at line 88 of file ComplexGeoData.h.
Referenced by Raytracing::PovTools::writeData().
virtual void Data::ComplexGeoData::getLines | ( | std::vector< Base::Vector3d > & | Points, | |
std::vector< Line > & | lines, | |||
float | Accuracy, | |||
uint16_t | flags = 0 | |||
) | const [inline, virtual] |
Get lines from object with given accuracy.
Definition at line 142 of file ComplexGeoData.h.
virtual void Data::ComplexGeoData::getLinesFromSubelement | ( | const Segment * | , | |
std::vector< Base::Vector3d > & | Points, | |||
std::vector< Line > & | lines | |||
) | const [inline, virtual] |
Get lines from segment.
Reimplemented in Part::TopoShape.
Definition at line 83 of file ComplexGeoData.h.
Base::Placement ComplexGeoData::getPlacement | ( | ) | const |
Return the current transformation as placement using getTransform().
Definition at line 86 of file ComplexGeoData.cpp.
References getTransform().
virtual Base::Vector3d Data::ComplexGeoData::getPointFromLineIntersection | ( | const Base::Vector3f & | Base, | |
const Base::Vector3f & | Dir | |||
) | const [inline, virtual] |
Get point from line object intersection.
Definition at line 134 of file ComplexGeoData.h.
virtual void Data::ComplexGeoData::getPoints | ( | std::vector< Base::Vector3d > & | Points, | |
float | Accuracy, | |||
uint16_t | flags = 0 | |||
) | const [inline, virtual] |
Get points from object with given accuracy.
Definition at line 139 of file ComplexGeoData.h.
virtual Segment* Data::ComplexGeoData::getSubElement | ( | const char * | Type, | |
unsigned | long | |||
) | const [pure virtual] |
get the subelement by type and number
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Referenced by getSubElementByName(), and Raytracing::PovTools::writeData().
Data::Segment * ComplexGeoData::getSubElementByName | ( | const char * | Name | ) | const [virtual] |
get subelement by combined name
Definition at line 49 of file ComplexGeoData.cpp.
References getSubElement(), and RobotExample::pos.
virtual Base::Matrix4D Data::ComplexGeoData::getTransform | ( | void | ) | const [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.
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Referenced by applyRotation(), applyTransform(), applyTranslation(), and getPlacement().
Base::Type Data::ComplexGeoData::getTypeId | ( | void | ) | const [virtual] |
Reimplemented from Base::Persistence.
Reimplemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Definition at line 38 of file ComplexGeoData.cpp.
void Data::ComplexGeoData::init | ( | void | ) | [static] |
Reimplemented from Base::Persistence.
Reimplemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Definition at line 38 of file ComplexGeoData.cpp.
void ComplexGeoData::setPlacement | ( | const Base::Placement & | rclPlacement | ) |
Override the current transformation with a placement using the setTransform() method.
Definition at line 81 of file ComplexGeoData.cpp.
References setTransform(), and Base::Placement::toMatrix().
Referenced by Data::ComplexGeoDataPy::setPlacement().
virtual void Data::ComplexGeoData::setTransform | ( | const Base::Matrix4D & | rclTrf | ) | [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.
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Referenced by applyRotation(), applyTransform(), applyTranslation(), Data::ComplexGeoDataPy::setMatrix(), and setPlacement().
virtual void Data::ComplexGeoData::transformGeometry | ( | const Base::Matrix4D & | rclMat | ) | [pure virtual] |
Applies a transformation on the real geometric data type.
Implemented in Fem::FemMesh, Mesh::MeshObject, Part::TopoShape, and Points::PointKernel.
Base::Vector3f Data::ComplexGeoData::transformToInside | ( | const Base::Vector3d & | vec | ) | const [inline, protected] |
from local to inside
Definition at line 158 of file ComplexGeoData.h.
References Base::Matrix4D::inverse(), Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by Mesh::MeshObject::movePoint(), and Mesh::MeshObject::setPoint().
Base::Vector3d Data::ComplexGeoData::transformToOutside | ( | const Base::Vector3f & | vec | ) | const [inline, protected] |
from local to outside
Definition at line 152 of file ComplexGeoData.h.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by Mesh::MeshObject::getBoundBox(), and Mesh::MeshObject::getPointNormal().