Clip line extractor for structured surface meshes More...
#include <MeshVizXLM/extractors/MiClipLineExtractIj.h>
Public Member Functions | |
virtual | ~MiClipLineExtractIj () |
virtual const MeXLineMeshUnstructured & | extractLine (const MbVec3< double > &normal, double distance, const MiCellFilterIj *cellFilter=NULL)=0 |
virtual const MeXLineMeshUnstructured & | extractLine (const MbVec3d &direction, const std::vector< MbVec3d > &polyline, const MiCellFilterIj *cellFilter=NULL)=0 |
virtual const MeXScalardSetI & | extractScalarSet (const MiScalardSetIj &inputSet)=0 |
virtual const MeXVec3dSetI & | extractVec3Set (const MiVec3dSetIj &inputSet)=0 |
virtual const MeXLineMeshUnstructured & | getExtract () const =0 |
| |
static MiClipLineExtractIj * | getNewInstance (const MiSurfaceMeshRegular &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiClipLineExtractIj * | getNewInstance (const MiSurfaceMeshCurvilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
static MiClipLineExtractIj * | getNewInstance (const MiSurfaceMeshRectilinear &mesh, bool parallel=true, MiTessellator *tessellator=NULL) |
A clip line is the intersection of a plane or a list of planes with the surface mesh. The extracted line is an unstructured line.
virtual MiClipLineExtractIj::~MiClipLineExtractIj | ( | ) | [inline, virtual] |
virtual const MeXLineMeshUnstructured& MiClipLineExtractIj::extractLine | ( | const MbVec3d & | direction, | |
const std::vector< MbVec3d > & | polyline, | |||
const MiCellFilterIj * | cellFilter = NULL | |||
) | [pure virtual] |
Computes a 3D polyline as the result of the intersection of several planes and the surface mesh.
The arbitrary planes (or fences) are defined by a polyline and a direction. The clip line extracted is returned as an unstructured line mesh.
direction | vector defining the direction of the fences | |
polyline | set of points defining the position of the fences | |
cellFilter | the cell filter object. |
virtual const MeXLineMeshUnstructured& MiClipLineExtractIj::extractLine | ( | const MbVec3< double > & | normal, | |
double | distance, | |||
const MiCellFilterIj * | cellFilter = NULL | |||
) | [pure virtual] |
Computes a 3D polyline as the result of the intersection of the surface mesh and the given plane.
normal | Vector normal to the plane | |
distance | Position of the plane relatively to the origin along the normal | |
cellFilter | The cell filter object. |
virtual const MeXScalardSetI& MiClipLineExtractIj::extractScalarSet | ( | const MiScalardSetIj & | inputSet | ) | [pure virtual] |
Extracts a scalar set from the surface mesh.
The scalars are mapped onto the current extracted clip sline.
inputSet | the input scalar set defined on the surface mesh |
virtual const MeXVec3dSetI& MiClipLineExtractIj::extractVec3Set | ( | const MiVec3dSetIj & | inputSet | ) | [pure virtual] |
Extracts a vector set from the surface mesh.
The vectors are mapped onto the current extracted clip line.
inputSet | the input vec3 set defined on the surface mesh |
virtual const MeXLineMeshUnstructured& MiClipLineExtractIj::getExtract | ( | ) | const [pure virtual] |
Returns the result of the extraction as a mesh.
static MiClipLineExtractIj* MiClipLineExtractIj::getNewInstance | ( | const MiSurfaceMeshRectilinear & | 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 MiClipLineExtractIj* MiClipLineExtractIj::getNewInstance | ( | const MiSurfaceMeshCurvilinear & | 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 MiClipLineExtractIj* MiClipLineExtractIj::getNewInstance | ( | const MiSurfaceMeshRegular & | 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,...). |