Grid plane slice extractor on unstructured volume meshes More...
#include <MeshVizXLM/extractors/MiGridPlaneSliceExtractUnstructured.h>
Public Member Functions | |
virtual | ~MiGridPlaneSliceExtractUnstructured () |
virtual const MeXSurfaceMeshCurvilinear & | extractGrid (const MbVec3< double > &normal, double distance, double step, const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXScalardSetIj & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
virtual const MeXVec3dSetIj & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
virtual const MeXSurfaceMeshCurvilinear & | getExtract () const =0 |
Static Public Member Functions | |
static MiGridPlaneSliceExtractUnstructured * | getNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true) |
This extractor is similar to the plane slice extractor except that it creates a structured mesh and probes the input volume to compute the values at the surface nodes and cells (See MiPointProbeUnstructured for settings). The grid created by this extractor is computed so that it encloses completely the cross section of the input volume mesh marking as dead the cells outside the volume.
virtual MiGridPlaneSliceExtractUnstructured::~MiGridPlaneSliceExtractUnstructured | ( | ) | [inline, virtual] |
virtual const MeXSurfaceMeshCurvilinear& MiGridPlaneSliceExtractUnstructured::extractGrid | ( | const MbVec3< double > & | normal, | |
double | distance, | |||
double | step, | |||
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds the topology and geometry of a curvilinear surface mesh defined by the given plane normal and distance to origin. This grid is computed so that it encloses completely the cross section of the input volume mesh.
normal | Vector normal to the grid plane slice | |
distance | Position of the plane relatively to the origin along the normal | |
step | Distance between two consecutive nodes in both directions of the plane | |
cellFilter | The cell filter object. |
virtual const MeXScalardSetIj& MiGridPlaneSliceExtractUnstructured::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Extracts a PER_NODE scalar set from the volume mesh.
The scalars are mapped onto the current extracted grid. Even if the binding of the input scalar set is PER_CELL, this extractor cannot produce a PER_CELL extract because it uses the probing mechanism at each grid plane node to extract values and so does not contain PER_CELL values.
inputSet | the input scalar set defined on the volume mesh |
virtual const MeXVec3dSetIj& MiGridPlaneSliceExtractUnstructured::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Extracts a PER_NODE vector set from the volume mesh.
The vectors are mapped onto the current extracted grid. Even if the binding of the input vector set is PER_CELL, this extractor cannot produce a PER_CELL extract because it uses the probing mechanism at each grid plane node to extract values and so does not contain PER_CELL values.
inputSet | the input vec3 set defined on the volume mesh |
virtual const MeXSurfaceMeshCurvilinear& MiGridPlaneSliceExtractUnstructured::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
static MiGridPlaneSliceExtractUnstructured* MiGridPlaneSliceExtractUnstructured::getNewInstance | ( | const MiVolumeMeshUnstructured & | 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. |