Plane slice extractor for hexahedron IJK volume meshes More...
#include <MeshVizXLM/extractors/MiPlaneSliceExtractHexahedronIjk.h>
Public Member Functions | |
virtual | ~MiPlaneSliceExtractHexahedronIjk () |
virtual const MeXSurfaceMeshUnstructured & | extractSlice (const MbVec3< double > &normal, double distance, const MiCellFilterIjk *cellFilter=NULL)=0 |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
virtual const MeXSurfaceMeshUnstructured & | getExtract () const =0 |
Static Public Member Functions | |
static MiPlaneSliceExtractHexahedronIjk * | getNewInstance (const MiVolumeMeshHexahedronIjk &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.
virtual MiPlaneSliceExtractHexahedronIjk::~MiPlaneSliceExtractHexahedronIjk | ( | ) | [inline, virtual] |
virtual const MeXScalardSetI& MiPlaneSliceExtractHexahedronIjk::extractScalarSet | ( | const MiScalardSetIjk & | inputSet | ) | [pure virtual] |
Computes a PER_CELL scalar set on the extracted plane slice.
Note : The argument i,j,k of the method MiScalardSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.
inputSet | the input scalar set defined on the volume mesh |
Implements MiPlaneSliceExtractIjk.
virtual const MeXScalardSetI& MiPlaneSliceExtractHexahedronIjk::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Computes a PER_NODE scalar set on the extracted plane slice.
Note : The argument i of the method MiScalardSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.
inputSet | the input scalar set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiPlaneSliceExtractHexahedronIjk::extractSlice | ( | const MbVec3< double > & | normal, | |
double | distance, | |||
const MiCellFilterIjk * | 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. |
Implements MiPlaneSliceExtractIjk.
virtual const MeXVec3dSetI& MiPlaneSliceExtractHexahedronIjk::extractVec3Set | ( | const MiVec3dSetIjk & | inputSet | ) | [pure virtual] |
Computes a vector set on the extracted plane slice.
Note : The argument i,j,k of the method MiVec3dSetIjk::get(i,j,k) refers to the cell (i,j,k). Thus the binding of the inputSet must be PER_CELL. An exception is thrown otherwise.
inputSet | the input vector set defined on the volume mesh |
Implements MiPlaneSliceExtractIjk.
virtual const MeXVec3dSetI& MiPlaneSliceExtractHexahedronIjk::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Computes a vector set on the extracted plane slice.
Note : The argument i of the method MiVec3dSetI::get(i) refers to the i-th node of the mesh. Thus the binding of the inputSet must be PER_NODE. An exception is thrown otherwise.
inputSet | the input vector set defined on the volume mesh |
virtual const MeXSurfaceMeshUnstructured& MiPlaneSliceExtractHexahedronIjk::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
Implements MiPlaneSliceExtractIjk.
static MiPlaneSliceExtractHexahedronIjk* MiPlaneSliceExtractHexahedronIjk::getNewInstance | ( | const MiVolumeMeshHexahedronIjk & | 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,...). |