Fence slice extractor for structured volume meshes
More...
#include <MeshVizXLM/extractors/MiFenceSliceExtractIjk.h>
Public Member Functions | |
| virtual | ~MiFenceSliceExtractIjk () |
| virtual const MeXSurfaceMeshUnstructured & | extract (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, const MiCellFilterIjk *cellFilter=NULL)=0 |
| virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
| virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
| virtual const MeXSurfaceMeshUnstructured & | getExtract () const =0 |
Static Public Member Functions | |
| static MiFenceSliceExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
| static MiFenceSliceExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
| static MiFenceSliceExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
| static MiFenceSliceExtractIjk * | getNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Fence slice extractor for structured volume meshes
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, MiFenceSliceExtractUnstructured, MiFenceSliceExtractHexahedronIjk
| virtual MiFenceSliceExtractIjk::~MiFenceSliceExtractIjk | ( | ) | [inline, virtual] |
| virtual const MeXSurfaceMeshUnstructured& MiFenceSliceExtractIjk::extract | ( | const MbVec3d & | direction, | |
| const std::vector< MbVec3d > & | polyline, | |||
| const MiCellFilterIjk * | 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& MiFenceSliceExtractIjk::extractScalarSet | ( | const MiScalardSetIjk & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the volume mesh.
The scalars are mapped onto the current extracted fence slice.
| inputSet | the input scalar set defined on the volume mesh |
Implemented in MiFenceSliceExtractHexahedronIjk.
| virtual const MeXVec3dSetI& MiFenceSliceExtractIjk::extractVec3Set | ( | const MiVec3dSetIjk & | inputSet | ) | [pure virtual] |
Extracts a vector set from the volume mesh.
The vectors are mapped onto the current extracted fence slice.
| inputSet | the input vector set defined on the volume mesh |
Implemented in MiFenceSliceExtractHexahedronIjk.
| virtual const MeXSurfaceMeshUnstructured& MiFenceSliceExtractIjk::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
| static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshVertexHexahedronIjk & | mesh, | |
| bool | parallel = true, |
|||
| MiTessellator * | tessellator = NULL | |||
| ) | [static] |
| static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshCurvilinear & | mesh, | |
| bool | parallel = true, |
|||
| MiTessellator * | tessellator = NULL | |||
| ) | [static] |
| static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshRectilinear & | mesh, | |
| bool | parallel = true, |
|||
| MiTessellator * | tessellator = NULL | |||
| ) | [static] |
| static MiFenceSliceExtractIjk* MiFenceSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshRegular & | 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,...). |