Fence slice extractor for hexahedron Ijk meshes More...
#include <MeshVizXLM/extractors/MiFenceSliceExtractHexahedronIjk.h>
Public Member Functions | |
virtual | ~MiFenceSliceExtractHexahedronIjk () |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetI &inputSet)=0 |
Computes a PER_NODE scalar set on the extracted fences. | |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
Computes a PER_CELL scalar set on the extracted fences. | |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetI &inputSet)=0 |
Computes a vector set on the extracted fences. | |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
Computes a vector set on the extracted fences. | |
Public Member Functions inherited from MiFenceSliceExtractIjk | |
virtual | ~MiFenceSliceExtractIjk () |
virtual const MeXSurfaceMeshUnstructured & | extract (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, const MiCellFilterIjk *cellFilter=NULL)=0 |
Builds the topology and geometry of a fence 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 MiFenceSliceExtractHexahedronIjk * | 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 MiFenceSliceExtractIjk | |
static MiFenceSliceExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
Factory method returning a new instance of a class implementing this interface. | |
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 hexahedron Ijk 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, MiFenceSliceExtractIjk, MiFenceSliceExtractUnstructured
Definition at line 49 of file MiFenceSliceExtractHexahedronIjk.h.
|
inlinevirtual |
Definition at line 52 of file MiFenceSliceExtractHexahedronIjk.h.
|
pure virtual |
Computes a PER_NODE scalar set on the extracted fences.
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 fences.
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 MiFenceSliceExtractIjk.
|
pure virtual |
Computes a vector set on the extracted fences.
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 vec3 set defined on the volume mesh |
|
pure virtual |
Computes a vector set on the extracted fences.
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 vec3 set defined on the volume mesh |
Implements MiFenceSliceExtractIjk.
|
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,...). |