Data::ComplexGeoData Class Reference

ComplexGeoData Object. More...

#include <ComplexGeoData.h>

Inheritance diagram for Data::ComplexGeoData:
Base::Persistence Base::Handled Base::BaseClass Fem::FemMesh Mesh::MeshObject Part::TopoShape Points::PointKernel

List of all members.

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 SegmentgetSubElement (const char *Type, unsigned long) const =0
 get the subelement by type and number
virtual SegmentgetSubElementByName (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

Detailed Description

ComplexGeoData Object.

Definition at line 57 of file ComplexGeoData.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]
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]
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]
Base::Vector3d Data::ComplexGeoData::transformToOutside ( const Base::Vector3f vec  )  const [inline, protected]

The documentation for this class was generated from the following files:

Generated on Wed Nov 23 19:01:53 2011 for FreeCAD by  doxygen 1.6.1