Sphere slice extractor for structured volume meshes More...
#include <MeshVizXLM/extractors/MiSphereSliceExtractIjk.h>
Public Member Functions | |
virtual | ~MiSphereSliceExtractIjk () |
virtual const MeXSurfaceMeshUnstructured & | extractSlice (const MbVec3< double > ¢er, double radius, 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 MiSphereSliceExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiSphereSliceExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiSphereSliceExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiSphereSliceExtractIjk * | getNewInstance (const MiVolumeMeshVertexHexahedronIjk &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:
MiSphereSliceExtractIjk* sphereSliceExtract = MiSphereSliceExtractIjk::getNewInstance(mesh); const MeXSurfaceMeshUnstructured& sphereSlice = sphereSliceExtract->extractSlice(center,radius, NULL);
virtual MiSphereSliceExtractIjk::~MiSphereSliceExtractIjk | ( | ) | [inline, virtual] |
virtual const MeXScalardSetI& MiSphereSliceExtractIjk::extractScalarSet | ( | const MiScalardSetIjk & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the original mesh. The scalars are mapped onto the current extracted mesh.
inputSet | The input scalar set defined on the original mesh. |
Implemented in MiSphereSliceExtractHexahedronIjk.
virtual const MeXSurfaceMeshUnstructured& MiSphereSliceExtractIjk::extractSlice | ( | const MbVec3< double > & | center, | |
double | radius, | |||
const MiCellFilterIjk * | cellFilter = NULL | |||
) | [pure virtual] |
Builds the topology and geometry of a sphere slice intersecting the volume mesh.
center | The position of the center of the sphere | |
radius | The radius of the sphere | |
cellFilter | The cell filter object. |
virtual const MeXVec3dSetI& MiSphereSliceExtractIjk::extractVec3Set | ( | const MiVec3dSetIjk & | inputSet | ) | [pure virtual] |
Extracts a vector set from the original mesh. The vectors are mapped onto the current extracted mesh.
inputSet | The input vector set defined on the original mesh. |
Implemented in MiSphereSliceExtractHexahedronIjk.
virtual const MeXSurfaceMeshUnstructured& MiSphereSliceExtractIjk::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
static MiSphereSliceExtractIjk* MiSphereSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshVertexHexahedronIjk & | 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,...). |
static MiSphereSliceExtractIjk* MiSphereSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshRectilinear & | 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,...). |
static MiSphereSliceExtractIjk* MiSphereSliceExtractIjk::getNewInstance | ( | const MiVolumeMeshCurvilinear & | 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,...). |
static MiSphereSliceExtractIjk* MiSphereSliceExtractIjk::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,...). |