Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
MeXVolumeCell Class Referenceabstract

MeshViz Defines an abstract cell of an extracted volume mesh. More...

#include <MeshVizXLM/extrmesh/cell/MeXVolumeCell.h>

+ Inheritance diagram for MeXVolumeCell:

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.
 

Detailed Description

MeshViz 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.

Member Function Documentation

◆ getFacetNormal()

virtual MbVec3d MeXVolumeCell::getFacetNormal ( size_t  facet,
const MiGeometryI meshGeometry 
) const
pure virtual

Gets the normal to the given facet of the cell.

An application does not need to override this method.

Parameters
[in]facetThe index of the facet (where 0 <= facet < getNumFacets()).
[in]meshGeometryThe geometry of the mesh. Used to retrieve the node coordinates of this cell.
Returns
a vector.

◆ getVolume()

virtual double MeXVolumeCell::getVolume ( const MiGeometryI meshGeometry) const
pure virtual

Gets the volume of the cell.

An application does not need to override this method.

Parameters
[in]meshGeometryThe geometry of the mesh. Used to retrieve the node coordinates of this cell.

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