FreeCAD C++
|
#include <App/ComplexGeoData.h>
ComplexGeoData Object
Public Member Functions | |
ComplexGeoData (void) | |
Constructor. | |
virtual | ~ComplexGeoData () |
Destructor. | |
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 | |
virtual Segment * | getSubElementByName (const char *Name) const |
get subelement by combined name | |
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. | |
Getting basic geometric entities | |
virtual Base::BoundBox3d | getBoundBox (void) const =0 |
Get the bound box. | |
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 unsigned int | getMemSize (void) const =0 |
virtual void | Save (Writer &) const =0 |
virtual void | Restore (XMLReader &)=0 |
virtual void | SaveDocFile (Writer &) const |
virtual void | RestoreDocFile (Reader &) |
![]() | |
BaseClass () | |
Construction. | |
virtual | ~BaseClass () |
Destruction. | |
Protected Member Functions | |
Base::Vector3d | transformToOutside (const Base::Vector3f &vec) const |
from local to outside | |
Base::Vector3f | transformToInside (const Base::Vector3d &vec) const |
from local to inside | |
Additional Inherited Members | |
![]() | |
static std::string | encodeAttribute (const std::string &) |
Encodes an attribute upon saving. | |
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.
|
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
Implemented in Part::TopoShape, Mesh::MeshObject, Fem::FemMesh, and Points::PointKernel.
|
virtual |
Get faces from object with given accuracy
|
virtual |
Get faces from segment
Reimplemented in Part::TopoShape, and Mesh::MeshObject.
|
virtual |
Get lines from object with given accuracy
|
virtual |
Get lines from segment
Reimplemented in Part::TopoShape.
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
Reimplemented in Part::TopoShape, and Mesh::MeshObject.
|
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, and Part::TopoShape.
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.
Implemented in Fem::FemMesh, and Part::TopoShape.