Sphere slice extractor for hexahedron IJK volume meshes More...
#include <MeshVizXLM/extractors/MiSphereSliceExtractHexahedronIjk.h>
Public Member Functions | |
virtual | ~MiSphereSliceExtractHexahedronIjk () |
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 |
Static Public Member Functions | |
static MiSphereSliceExtractHexahedronIjk * | getNewInstance (const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
A sphere slice is the intersection of a given sphere with the mesh volume. The extracted sphere slice is an unstructured surface mesh.
Additional data sets can be mapped onto this extracted surface by calling the extractScalarSet() or extractVec3Set() methods.
The following sample code shows how to extract a sphere slice from a mesh:
MiSphereSliceExtractHexahedronIjk* sphereSliceExtract = MiSphereSliceExtractHexahedronIjk::getNewInstance(mesh); const MeXSurfaceMeshUnstructured& sphereSlice = sphereSliceExtract->extractSlice(center,radius, NULL);
virtual MiSphereSliceExtractHexahedronIjk::~MiSphereSliceExtractHexahedronIjk | ( | ) | [inline, virtual] |
virtual const MeXScalardSetI& MiSphereSliceExtractHexahedronIjk::extractScalarSet | ( | const MiScalardSetIjk & | inputSet | ) | [pure virtual] |
Computes a PER_CELL scalar set on the extracted sphere 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 MiSphereSliceExtractIjk.
virtual const MeXScalardSetI& MiSphereSliceExtractHexahedronIjk::extractScalarSet | ( | const MiScalardSetI & | inputSet | ) | [pure virtual] |
Computes a PER_NODE scalar set on the extracted sphere 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 MeXVec3dSetI& MiSphereSliceExtractHexahedronIjk::extractVec3Set | ( | const MiVec3dSetIjk & | inputSet | ) | [pure virtual] |
Computes a vector set on the extracted sphere 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 MiSphereSliceExtractIjk.
virtual const MeXVec3dSetI& MiSphereSliceExtractHexahedronIjk::extractVec3Set | ( | const MiVec3dSetI & | inputSet | ) | [pure virtual] |
Computes a vector set on the extracted sphere 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 |
static MiSphereSliceExtractHexahedronIjk* MiSphereSliceExtractHexahedronIjk::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,...). |