Tessellated surface mesh extractor for unstructured and non linear 2D mesh. More...
#include <MeshVizXLM/extractors/MiTessellatedSurfaceExtract.h>
Public Member Functions | |
virtual | ~MiTessellatedSurfaceExtract () |
virtual const MeXSurfaceMeshUnstructured & | tessellate (MiTessellator &tesselator, const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXLineMeshUnstructured & | tessellateLine (MiTessellator &tesselator, const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXPointMeshCurvilinear & | extractPoints (const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
virtual const MeXSurfaceMeshUnstructured & | getExtract () const =0 |
virtual const MeXLineMeshUnstructured & | getLineExtract () const =0 |
virtual const MeXPointMeshCurvilinear & | getPointExtract () const =0 |
Static Public Member Functions | |
static MiTessellatedSurfaceExtract * | getNewInstance (const MiSurfaceMeshUnstructured &mesh, bool parallel=true) |
Builds a tessellated linear surface mesh from non linear 2D mesh. The tessellation is done by using the given MiTessellator (see tessellate()).
virtual MiTessellatedSurfaceExtract::~MiTessellatedSurfaceExtract | ( | ) | [inline, virtual] |
virtual const MeXPointMeshCurvilinear& MiTessellatedSurfaceExtract::extractPoints | ( | const MiCellFilterI * | cellFilter = NULL |
) | [pure virtual] |
Builds a new point mesh by collecting all cell nodes of the input mesh given to the factory method getNewInstance().
[in] | cellFilter | The optional cell filter. surface cells excluded by this filter are not included "as is" in the build mesh. |
virtual const MeXScalardSetI& MiTessellatedSurfaceExtract::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the input mesh.
For a PER_NODE dataset, the value of each point of the tessellation is calculated by using the shape functions of the input cell and the parametric coordinates of the each tessellated point. For a PER_CELL dataset, the value of each tessellated cell is just a copy of the value of each input cell. The scalars are mapped onto the current tessellated mesh refering to either the surface mesh, the line mesh or the point mesh depending on whether tessellate(), tessellateLine() or extractPoints() was last called.
[in] | inputSet | the input scalar set defined on the input mesh. |
virtual const MeXVec3dSetI& MiTessellatedSurfaceExtract::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Extracts a vector set from the input mesh.
For a PER_NODE dataset, the value of each point of the tessellation is calculated by using the shape functions of the input cell and the parametric coordinates of the each tessellated point. For a PER_CELL dataset, the value of each tessellated cell is just a copy of the value of each input cell. The vectors are mapped onto the current tessellated mesh refering to either the surface mesh, line mesh or the point mesh depending on whether tessellate(), tessellateLine() or extractPoints() was last called.
[in] | inputSet | the input vector set defined on the input mesh. |
virtual const MeXSurfaceMeshUnstructured& MiTessellatedSurfaceExtract::getExtract | ( | ) | const [pure virtual] |
Returns the tessellated mesh extracted by the previous call to tessellate().
virtual const MeXLineMeshUnstructured& MiTessellatedSurfaceExtract::getLineExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a line mesh.
static MiTessellatedSurfaceExtract* MiTessellatedSurfaceExtract::getNewInstance | ( | const MiSurfaceMeshUnstructured & | mesh, | |
bool | parallel = true | |||
) | [static] |
Factory method returning a new instance of a class implementing this abstract class.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |
virtual const MeXPointMeshCurvilinear& MiTessellatedSurfaceExtract::getPointExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a point mesh.
virtual const MeXSurfaceMeshUnstructured& MiTessellatedSurfaceExtract::tessellate | ( | MiTessellator & | tesselator, | |
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds a new linear surface mesh by tessellating each non linear cell of the input mesh given to the factory method getNewInstance().
[in] | tesselator | The instance used to tessellate. |
[in] | cellFilter | The optional cell filter. surface cells excluded by this filter are neither tessellated nor included "as is" in the build mesh. |
virtual const MeXLineMeshUnstructured& MiTessellatedSurfaceExtract::tessellateLine | ( | MiTessellator & | tesselator, | |
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds a new linear line mesh by tessellating each non linear cell contour of the input mesh given to the factory method getNewInstance().
[in] | tesselator | The instance used to tessellate. |
[in] | cellFilter | The optional cell filter. surface cells excluded by this filter are neither tessellated nor included "as is" in the build mesh. |