Fence slice extractor for unstructured volume meshes More...
#include <MeshVizXLM/extractors/MiFenceSliceExtractUnstructured.h>
Public Member Functions | |
virtual | ~MiFenceSliceExtractUnstructured () |
virtual const MeXSurfaceMeshUnstructured & | extract (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, 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 |
Static Public Member Functions | |
static MiFenceSliceExtractUnstructured * | getNewInstance (const MiVolumeMeshUnstructured &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
A fence slice is an unstructured surface mesh defined by the intersection of several arbitrary planes (the fences) with a volume mesh. These fences are defined by a polyline and a direction. Each segment of the polyline is extruded along the direction to form a clipped plane slice. Thus, each fence goes through a segment of the polyline. Each plane slice is clipped by the extrusion of the 2 endpoints of each segment in the direction. The extracted fence slice is an unstructured surface.
MoMeshFenceSlice, MiFenceSliceExtractIjk, MiFenceSliceExtractHexahedronIjk
virtual MiFenceSliceExtractUnstructured::~MiFenceSliceExtractUnstructured | ( | ) | [inline, virtual] |
virtual const MeXSurfaceMeshUnstructured& MiFenceSliceExtractUnstructured::extract | ( | const MbVec3d & | direction, | |
const std::vector< MbVec3d > & | polyline, | |||
const MiCellFilterI * | cellFilter = NULL | |||
) | [pure virtual] |
Builds the topology and geometry of a fence slice intersecting the volume mesh.
direction | vector defining the direction of the fences | |
polyline | set of points defining the position of the fences | |
cellFilter | The cell filter object. |
virtual const MeXScalardSetI& MiFenceSliceExtractUnstructured::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the volume mesh.
The scalars are mapped onto the current extracted fence slice referring to either the line mesh or the surface mesh depending on whether extract() or extractLine() was last called.
inputSet | the input scalar set defined on the volume mesh |
virtual const MeXVec3dSetI& MiFenceSliceExtractUnstructured::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Extracts a vector set from the volume mesh.
The vectors are mapped onto the current extracted fence slice referring 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& MiFenceSliceExtractUnstructured::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
static MiFenceSliceExtractUnstructured* MiFenceSliceExtractUnstructured::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,...). |