MiNonOverlappedCellsExtractUnstructured Class Reference
[Utilities]

MeshViz Remove overlapped cells from a given unstructured surface mesh or a list of meshes. More...

#include <MeshVizXLM/extractors/MiNonOverlappedCellsExtractUnstructured.h>

Inheritance diagram for MiNonOverlappedCellsExtractUnstructured:
MiBaseExtractor

List of all members.

Public Member Functions

virtual ~MiNonOverlappedCellsExtractUnstructured ()
virtual const
MeXSurfaceMeshUnstructured
extractSurface (const MiCellFilterI *cellFilter=NULL)=0
virtual const
MeXSurfaceMeshUnstructured
extractSurface (const std::vector< const MiCellFilterI * > *cellFilters)=0
virtual const MeXScalardSetIextractScalarSet (const MiScalardSetI &inputSet)=0
virtual const MeXScalardSetIextractScalarSet (const std::vector< const MiScalardSetI * > &scalarSets)=0
virtual const MeXVec3dSetIextractVec3Set (const MiVec3dSetI &inputSet)=0
virtual const MeXVec3dSetIextractVec3Set (const std::vector< const MiVec3dSetI * > &vec3Sets)=0
virtual const
MeXSurfaceMeshUnstructured
getExtract () const =0

Static Public Member Functions

static
MiNonOverlappedCellsExtractUnstructured
getNewInstance (const MiSurfaceMeshUnstructured &mesh, bool parallel=true)
static
MiNonOverlappedCellsExtractUnstructured
getNewInstance (const std::vector< const MiSurfaceMeshUnstructured * > &meshList, bool parallel=true)

Detailed Description

MeshViz Remove overlapped cells from a given unstructured surface mesh or a list of meshes.

This tool is another type of extractor which takes an unstructured surface mesh as input and produces a new surface mesh where overlapped cells are discarded. We define an overlapped cell as a cell lying on the same plane as a set of cells which are entirely hiding this cell. In the output mesh, the geometry refers to the input geometry and the topology refers to the input topology, except that the overlapped cells are set as "dead cells".

This tool can also work on a list of unstructured surface meshes. In that case, it merges all of them into an output mesh, using the original geometries and topologies where overlapped cells from all input meshes are set as dead. To work on a list of surface meshes, call getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool).

To detach the resulting mesh from the input meshes, it must be cloned (see MeXSurfaceMeshUnstructured::getNewClone()).

The following example shows how to remove overlapped cells in a list of meshes:

   MiNonOverlappedCellsExtractUnstructured* extract =
     MiNonOverlappedCellsExtractUnstructured::getNewInstance(meshList);
   const MeXScalardSetI& scalarSet = extract->extractScalarSet(scalarSets);
   const MeXVec3dSetI& vectorSet = extract->extractVec3Set(vectorSets);

Constructor & Destructor Documentation

virtual MiNonOverlappedCellsExtractUnstructured::~MiNonOverlappedCellsExtractUnstructured (  )  [inline, virtual]

Member Function Documentation

virtual const MeXScalardSetI& MiNonOverlappedCellsExtractUnstructured::extractScalarSet ( const std::vector< const MiScalardSetI * > &  scalarSets  )  [pure virtual]
virtual const MeXScalardSetI& MiNonOverlappedCellsExtractUnstructured::extractScalarSet ( const MiScalardSetI inputSet  )  [pure virtual]

Extracts a scalar set from the original mesh. The scalars are mapped onto the current extracted mesh.

Parameters:
inputSet The input scalar set defined on the original mesh.
Returns:
The output scalar set defined on the extracted mesh.
This method must not be called when the extractor is working on a list of meshes. (.ie. the extractor has been built by getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool))

virtual const MeXSurfaceMeshUnstructured& MiNonOverlappedCellsExtractUnstructured::extractSurface ( const std::vector< const MiCellFilterI * > *  cellFilters  )  [pure virtual]

Builds the topology and geometry of the surface mesh after removing all overlapped cells.

The resulting mesh is made of all cells of the input meshes but those overlapped.

Parameters:
cellFilters list that must contain same number of cell filters as the number of input meshes in getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool)
virtual const MeXSurfaceMeshUnstructured& MiNonOverlappedCellsExtractUnstructured::extractSurface ( const MiCellFilterI cellFilter = NULL  )  [pure virtual]

Builds the topology and geometry of the surface mesh after removing all overlapped cells.

This method must not be called when the extractor is working on a list of meshes. (.ie. the extractor has been built by getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool))

virtual const MeXVec3dSetI& MiNonOverlappedCellsExtractUnstructured::extractVec3Set ( const std::vector< const MiVec3dSetI * > &  vec3Sets  )  [pure virtual]

Extracts a vector set from the list of meshes.

The vectors are mapped onto the current extracted mesh.

Parameters:
vec3Sets list that must contain same number of vector sets as the number of input meshes in getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool)
virtual const MeXVec3dSetI& MiNonOverlappedCellsExtractUnstructured::extractVec3Set ( const MiVec3dSetI inputSet  )  [pure virtual]

Extracts a vector set from the original mesh. The vectors are mapped onto the current extracted mesh.

Parameters:
inputSet The input vector set defined on the original mesh.
Returns:
The output vector set defined on the extracted mesh.
This method must not be called when the extractor is working on a list of meshes. (.ie. the extractor has been built by getNewInstance(const std::vector<const MiSurfaceMeshUnstructured*>&, bool))

virtual const MeXSurfaceMeshUnstructured& MiNonOverlappedCellsExtractUnstructured::getExtract (  )  const [pure virtual]

Returns the result of the extraction as a mesh.

static MiNonOverlappedCellsExtractUnstructured* MiNonOverlappedCellsExtractUnstructured::getNewInstance ( const std::vector< const MiSurfaceMeshUnstructured * > &  meshList,
bool  parallel = true 
) [static]

Factory method returning a new instance that works on a list of surface meshes.

Parameters:
meshList the input meshes.
parallel dummy argument not yet used.
static MiNonOverlappedCellsExtractUnstructured* MiNonOverlappedCellsExtractUnstructured::getNewInstance ( const MiSurfaceMeshUnstructured mesh,
bool  parallel = true 
) [static]

Factory method returning a new instance that works on a single input surface mesh.

Parameters:
mesh the input surface mesh.
parallel dummy argument not yet used.

The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 4 Sep 2023
Copyright © Thermo Fisher Scientific All rights reserved.
https://www.openinventor.com/