Defines an abstract cell of an extracted mesh. More...
#include <MeshVizXLM/extrmesh/cell/MeXCell.h>
Additional Inherited Members | |
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. | |
Protected Member Functions inherited from MiCell | |
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 mesh.
A cell is a basic volume, surface or edge element that connects adjacent nodes of a mesh.
The implementation of all the methods of this class must be thread-safe because it might be called concurrently by multiple threads. If the implementation can't be thread-safe, MeshViz XLM must be forced to use only 1 thread. It can be done by calling MiMeshViz::init(1) or MoMeshViz::init(1) or setting the parallel argument to false for each extractor instantiation. For instance by calling MiSkinExtractUnstructured::getNewInstance(&mesh, false);