FreeCAD C++
Public Member Functions | List of all members
Fem::FemMesh Class Reference

#include <Mod/Fem/App/FemMesh.h>

Detailed Description

The representation of a FemMesh

Public Member Functions

void read (const char *FileName)
 import from files
 
Subelement management
virtual std::vector< const char * > getElementTypes (void) const
 
virtual unsigned long countSubElements (const char *Type) const
 
virtual Data::SegmentgetSubElement (const char *Type, unsigned long) const
 get the subelement by type and number
 
search and retrieval
std::set< long > getSurfaceNodes (long ElemId, short FaceId, float Angle=360) const
 retrieving by region growing
 
std::set< int > getNodesBySolid (const TopoDS_Solid &solid) const
 retrieving by solid
 
std::set< int > getNodesByFace (const TopoDS_Face &face) const
 retrieving by face
 
std::set< int > getNodesByEdge (const TopoDS_Edge &edge) const
 retrieving by edge
 
std::set< int > getNodesByVertex (const TopoDS_Vertex &vertex) const
 retrieving by vertex
 
std::list< int > getElementNodes (int id) const
 retrieving node IDs by element ID
 
std::list< int > getFacesByFace (const TopoDS_Face &face) const
 retrieving face IDs number by face
 
std::list< int > getEdgesByEdge (const TopoDS_Edge &edge) const
 retrieving edge IDs number by edge
 
std::list< std::pair< int, int > > getVolumesByFace (const TopoDS_Face &face) const
 retrieving volume IDs and face IDs number by face
 
std::map< int, int > getccxVolumesByFace (const TopoDS_Face &face) const
 retrieving volume IDs and CalculiX face number by face
 
std::set< int > getEdgesOnly (void) const
 retrieving IDs of edges not belonging to any face (and thus not belonging to any volume too)
 
std::set< int > getFacesOnly (void) const
 retrieving IDs of faces not belonging to any volume
 
Placement control
void setTransform (const Base::Matrix4D &rclTrf)
 set the transformation
 
Base::Matrix4D getTransform (void) const
 get the transformation
 
Base::BoundBox3d getBoundBox (void) const
 Bound box from the shape.
 
Base::Quantity getVolume (void) const
 get the volume (when there are volume elements)
 
Modification
void transformGeometry (const Base::Matrix4D &rclMat)
 Applies a transformation on the real geometric data type.
 
- Public Member Functions inherited from Data::ComplexGeoData
 ComplexGeoData (void)
 Constructor.
 
virtual ~ComplexGeoData ()
 Destructor.
 
virtual SegmentgetSubElementByName (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
 
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 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 &center) const
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction.
 
virtual ~BaseClass ()
 Destruction.
 

Additional Inherited Members

- Static Public Member Functions inherited from Base::Persistence
static std::string encodeAttribute (const std::string &)
 Encodes an attribute upon saving.
 
- Protected Member Functions inherited from Data::ComplexGeoData
Base::Vector3d transformToOutside (const Base::Vector3f &vec) const
 from local to outside
 
Base::Vector3f transformToInside (const Base::Vector3d &vec) const
 from local to inside
 

Member Function Documentation

◆ getElementTypes()

virtual std::vector<const char*> Fem::FemMesh::getElementTypes ( void  ) const
virtual

Sub type list List of different subelement types it is NOT a list of the subelements itself

Implements Data::ComplexGeoData.