Cylinder slice extractor for hexahedron IJK volume meshes More...
#include <MeshVizXLM/extractors/MiCylinderSliceExtractHexahedronIjk.h>
Public Member Functions | |
virtual | ~MiCylinderSliceExtractHexahedronIjk () |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
Computes a PER_NODE scalar set on the extracted cylinder slice. | |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
Computes a PER_CELL scalar set on the extracted cylinder slice. | |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
Computes a vector set on the extracted cylinder slice. | |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
Computes a vector set on the extracted cylinder slice. | |
Public Member Functions inherited from MiCylinderSliceExtractIjk | |
virtual | ~MiCylinderSliceExtractIjk () |
virtual const MeXSurfaceMeshUnstructured & | extractSlice (const MbVec3< double > ¢er, double radius, const MbVec3< double > &direction, const MiCellFilterIjk *cellFilter=NULL)=0 |
Builds the topology and geometry of a cylinder slice intersecting the volume mesh. | |
virtual const MeXSurfaceMeshUnstructured & | getExtract () const =0 |
Returns the result of the extraction as a mesh. | |
Public Member Functions inherited from MiBaseExtractor | |
virtual | ~MiBaseExtractor () |
virtual void | setExtractorCallback (MiExtractorCallback *extractorCallback)=0 |
Set the user defined extractor callback which will be called before each extraction, during each extraction and after each extraction. | |
virtual SoDEPRECATED void | setExtractorCallback (MiExtractorCallback &extractorCallback) |
Static Public Member Functions | |
static MiCylinderSliceExtractHexahedronIjk * | getNewInstance (const MiVolumeMeshHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Factory method returning a new instance of a class implementing this interface. | |
Static Public Member Functions inherited from MiCylinderSliceExtractIjk | |
static MiCylinderSliceExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Factory method returning a new instance of a class implementing this interface. | |
static MiCylinderSliceExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiCylinderSliceExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiCylinderSliceExtractIjk * | getNewInstance (const MiVolumeMeshVertexHexahedronIjk &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Cylinder slice extractor for hexahedron IJK volume meshes
A cylinder slice is a surface mesh defined by the intersection of a cylinder of infinite length with the input mesh. The cylinder is defined by a point on its central axis, a vector representing the central axis direction and the radius.
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 cylinder slice from a mesh:
Definition at line 63 of file MiCylinderSliceExtractHexahedronIjk.h.
|
inlinevirtual |
Definition at line 66 of file MiCylinderSliceExtractHexahedronIjk.h.
|
pure virtual |
Computes a PER_NODE scalar set on the extracted cylinder 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 |
|
pure virtual |
Computes a PER_CELL scalar set on the extracted cylinder 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 MiCylinderSliceExtractIjk.
|
pure virtual |
Computes a vector set on the extracted cylinder 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 |
|
pure virtual |
Computes a vector set on the extracted cylinder 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 MiCylinderSliceExtractIjk.
|
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,...). |