Defines an abstract cell of an extracted volume mesh. More...
#include <MeshVizXLM/extrmesh/cell/MeXVolumeCell.h>
Public Member Functions | |
virtual MbVec3d | getFacetNormal (size_t facet, const MiGeometryI *meshGeometry) const =0 |
Gets the normal to the given facet of the cell. | |
virtual double | getVolume (const MiGeometryI *meshGeometry) const =0 |
Gets the volume of the cell. | |
Public Member Functions inherited from MiVolumeCell | |
virtual size_t | getNumFacets () const =0 |
Gets the number of facets. | |
virtual size_t | appendNodesIndexOfFacet (size_t facet, std::vector< size_t > &facetNodes) const =0 |
Appends the array of node indices belonging to a given facet to facetNode. | |
virtual size_t | getSubTriangleNodesIndex (size_t facet, std::vector< size_t > &triangleNodeIds) const |
Get a triangulation of the given facet of a non linear volume cell. | |
virtual size_t | getSubTetrahedronNodesIndex (std::vector< size_t > &tetrahedronNodeIds) const |
Get a decomposition in sub-tetrahedra of this volume cell. | |
virtual size_t | appendLocalNodesIndexOfFacet (size_t facet, std::vector< size_t > &facetNodes) const |
Appends the array of local node indices belonging to a given facet to facetNodes. | |
virtual void | getIsosurfTopology (unsigned char caseId, std::vector< std::pair< size_t, size_t > > &edgeList) const =0 |
Gets the list of topological polygons defining the part of the isosurface topology in this cell. | |
virtual unsigned char | getMarchingCaseId (std::vector< bool > &nodesSign, size_t beginNodeId=0) const |
Gets the isosurface "marching cube" entry according to the sign of each node in the cell. | |
virtual MbVec3d | getFacetCenter (size_t facet, const MiGeometryI &geometry) const |
Gets the center of the specified cell facet. | |
Public Member Functions inherited from MiCell | |
virtual | ~MiCell () |
Virtual destructor. | |
virtual size_t | getNumNodes () const =0 |
Gets the number of nodes. | |
virtual size_t | getNodeIndex (size_t node) const =0 |
Gets the index (in the mesh) of a node. | |
virtual double | getRelativeSize (const MiGeometryI *meshGeometry) const |
Gets the relative size of the cell. | |
virtual void | getWeight (const MbVec3d &ipcoord, std::vector< double > &weight) const |
Gets the weights of a point defined by its iso parametric coordinates. | |
virtual MbVec3d | getIsoParametricCoord (size_t nodeIndex) const |
Gets the iso parametric coordinates of a cell's node. | |
virtual MbVec3d | getCenter (const MiGeometryI &geometry) const |
Gets the center of the cell. | |
virtual bool | isPointInsideCell (const MiGeometryI &meshGeometry, const MbVec3d &point, std::vector< double > &weights) const |
Checks if a point is inside or outside a cell. | |
Additional Inherited Members | |
Protected Member Functions inherited from MiVolumeCell | |
virtual std::ostream & | toStream (std::ostream &s) const |
Performs an output operation on a stream which is returned afterward. | |
Defines an abstract cell of an extracted volume mesh.
A volume cell is a polyhedron element that connects adjacent nodes of a volume mesh.
Definition at line 46 of file MeXVolumeCell.h.
|
pure virtual |
Gets the normal to the given facet of the cell.
An application does not need to override this method.
[in] | facet | The index of the facet (where 0 <= facet < getNumFacets()). |
[in] | meshGeometry | The geometry of the mesh. Used to retrieve the node coordinates of this cell. |
|
pure virtual |
Gets the volume of the cell.
An application does not need to override this method.
[in] | meshGeometry | The geometry of the mesh. Used to retrieve the node coordinates of this cell. |