Plane slice extractor for unstructured volume meshes More...
#include <MeshVizXLM/extractors/MiPlaneSliceExtractUnstructured.h>
Public Member Functions | |
virtual | ~MiPlaneSliceExtractUnstructured () |
virtual const MeXSurfaceMeshUnstructured & | extractSlice (const MbVec3< double > &normal, double distance, const MiCellFilterI *cellFilter=NULL)=0 |
virtual const MeXLineMeshUnstructured & | extractLineSlice (const MbVec3< double > &normal, double distance, 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 |
Static Public Member Functions | |
static MiPlaneSliceExtractUnstructured * | getNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
A plane slice is the intersection of a given plane with the mesh volume. The extracted plane slice is an unstructured surface.
MultipleBenchmark, Bench_PlaneSlice, TutorialComputeSliceArea
virtual MiPlaneSliceExtractUnstructured::~MiPlaneSliceExtractUnstructured | ( | ) | [inline, virtual] |
virtual const MeXLineMeshUnstructured& MiPlaneSliceExtractUnstructured::extractLineSlice | ( | const MbVec3< double > & | normal, | |
double | distance, | |||
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds the topology and geometry of a plane slice intersecting the volume mesh and returns them as a line mesh representing the edges of each cell.
normal | Vector normal to the plane slice | |
distance | Position of the plane relatively to the origin along the normal | |
cellFilter | The cell filter object. |
virtual const MeXScalardSetI& MiPlaneSliceExtractUnstructured::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the volume mesh.
The scalars are mapped onto the current extracted planeslice refering to either the line mesh or the surface mesh depending on whether extractSlice() or extractLineSlice() was last called.
inputSet | the input scalar set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiPlaneSliceExtractUnstructured::extractSlice | ( | const MbVec3< double > & | normal, | |
double | distance, | |||
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds the topology and geometry of a plane slice intersecting the volume mesh.
normal | Vector normal to the plane slice | |
distance | Position of the plane relatively to the origin along the normal | |
cellFilter | The cell filter object. |
virtual const MeXVec3dSetI& MiPlaneSliceExtractUnstructured::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Extracts a vector set from the volume mesh.
The vectors are mapped onto the current extracted planeslice refering to either the line mesh or the surface mesh depending on whether extractSlice() or extractLineSlice() was last called.
inputSet | the input vector set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiPlaneSliceExtractUnstructured::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
virtual const MeXLineMeshUnstructured& MiPlaneSliceExtractUnstructured::getLineExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a line mesh.
static MiPlaneSliceExtractUnstructured* MiPlaneSliceExtractUnstructured::getNewInstance | ( | const MiVolumeMeshUnstructured & | mesh, | |
bool | parallel = true , |
|||
MiTessellator * | tessellator = NULL | |||
) | [static] |
Factory method returning a new instance of a class implementing this interface.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. | |
tessellator | The tessellator object used for tessellating non linear cells (quadratic,...). |