Convert data sets bound per cell into data sets bound per node on a given structured volume mesh. More...
#include <MeshVizXLM/extractors/MiPerCellToPerNodeExtractIjk.h>
Public Member Functions | |
virtual | ~MiPerCellToPerNodeExtractIjk () |
virtual const MeXScalardSetIjk & | extractScalarSet (const MiScalardSetIjk &inputSet)=0 |
virtual const MeXVec3dSetIjk & | extractVec3Set (const MiVec3dSetIjk &inputSet)=0 |
| |
static MiPerCellToPerNodeExtractIjk * | getNewInstance (const MiVolumeMeshRegular &mesh, bool parallel=true) |
static MiPerCellToPerNodeExtractIjk * | getNewInstance (const MiVolumeMeshRectilinear &mesh, bool parallel=true) |
static MiPerCellToPerNodeExtractIjk * | getNewInstance (const MiVolumeMeshCurvilinear &mesh, bool parallel=true) |
This conversion tool is another type of extractor which takes a data set bound per cell on a structured volume mesh as input and produces a new data set bound per node on the same mesh.
The value computed at a given node is the average of values from the surrounding cells, except dead cells.
The following example shows how to convert data sets bound per cell:
MiPerCellToPerNodeExtractIjk* extract = MiPerCellToPerNodeExtractIjk::getNewInstance(mesh); const MeXScalardSetIjk& perNodeScalarSet = extract->extractScalarSet(perCellScalarSet); const MeXVec3dSetIjk& perNodeVectorSet = extract->extractVec3Set(perCellVectorSet);
virtual MiPerCellToPerNodeExtractIjk::~MiPerCellToPerNodeExtractIjk | ( | ) | [inline, virtual] |
virtual const MeXScalardSetIjk& MiPerCellToPerNodeExtractIjk::extractScalarSet | ( | const MiScalardSetIjk & | inputSet | ) | [pure virtual] |
Converts a PER_CELL scalar set defined on the input mesh into a PER_NODE scalar set.
inputSet | The input PER_CELL scalar set defined on the input mesh. |
virtual const MeXVec3dSetIjk& MiPerCellToPerNodeExtractIjk::extractVec3Set | ( | const MiVec3dSetIjk & | inputSet | ) | [pure virtual] |
Converts a PER_CELL vector set defined on the input mesh into a PER_NODE vecto set.
inputSet | The input PER_CELL vector set defined on the input mesh. |
static MiPerCellToPerNodeExtractIjk* MiPerCellToPerNodeExtractIjk::getNewInstance | ( | const MiVolumeMeshCurvilinear & | mesh, | |
bool | parallel = true | |||
) | [static] |
Factory method returning a new instance of a class implementing this abstract class.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |
static MiPerCellToPerNodeExtractIjk* MiPerCellToPerNodeExtractIjk::getNewInstance | ( | const MiVolumeMeshRectilinear & | mesh, | |
bool | parallel = true | |||
) | [static] |
Factory method returning a new instance of a class implementing this abstract class.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |
static MiPerCellToPerNodeExtractIjk* MiPerCellToPerNodeExtractIjk::getNewInstance | ( | const MiVolumeMeshRegular & | mesh, | |
bool | parallel = true | |||
) | [static] |
Factory method returning a new instance of a class implementing this abstract class.
mesh | The input mesh | |
parallel | When true, tries to create an extract module using a parallel algorithm to speed up the extraction. |