MeshViz Interface is an API useful for extracting and visualizing features from meshes used in scientific visualization, finite element analysis (FEA) and computer aided engineering (CAE) such as colored isosurfaces, skin, cut planes, stream lines,... .
MeshViz Interface contains two separate parts: Mesh Extraction and Data Mapping.
MeshViz Interface is designed to support any type of mesh without requiring copying the mesh into an intermediate representation. This is done by defining abstract interfaces that must be implemented in the user's application classes. Thus MeshViz Interface can deal with whatever type of mesh you may have, whether 2D or 3D, cartesian, triangular, hexahedral, polyhedral, quadratic, structured, or indexed. Any number of scalar and vector sets can be analyzed on each mesh using any type of internal representation (float, double, char, bytes,…) or even implicit data computed on the fly.
Mesh Extraction creates a mesh of lower (or equal) dimension from a higher dimension one. For instance, when extracting a surface mesh (2D) representing an isosurface of a volume mesh (3D).
The following is a list of the main extraction methods available:
Isosurface on any scalar data set
Mesh skin
Mesh outline
Logical slice
Interpolated logical slice
Plane slice, cylinder slice and sphere slice
Grid plane slice
Stream line from any vector field data set
Probing at any point in the mesh
Contour lines on any scalar data set
The extraction process is highly optimized for reducing the extraction time while limiting the memory overhead. When possible, the extraction process uses parallel algorithms to minimize the processing time.
Data Mapping creates a graphical representation of an extracted mesh with advanced rendering techniques. The following is a list of the main data mapping representations available:
Surface colored by a scalar field (from an Isosurface extract or any other extract)
Lines colored by scalar field (from a contour line extract or any other extract)
Vectors
Stream lines
Contour lines
The data mapping tools are Open Inventor extension nodes taking full advantage of the advanced rendering techniques provided by Open Inventor.
The Mesh Extraction module is designed to be completely independent from Data Mapping. This allows you to build fully automated extraction engines not linked to any visualization applications. So, even though it is part of the Open Inventor product family, the Mesh Extraction module can be used independently from all other Open Inventor modules.
The Data Mapping module is a set of Open Inventor extension nodes representing the result of Mesh Extractions and thus requires a valid installation of Open Inventor in order to be used.
The two modules are provided in separate libraries.
Some example of implementation of the mesh interfaces are provided for convenience in the src example folder <OIVHOME>/src/MeshVizXLM/mesh. These classes are all prefixed with Mb. They are used in most MeshVizXLM example programs. Note that these classes are not fully optimized. We don’t recommend using them in real applications because doing so requires a copy of the data from the application’s memory to the Mb implementation’s memory.Therefore, to help implement mesh classes for real applications, we provide a set of mesh templates that include all required classes and methods to define a given type of mesh. These easy-to-implement templates are header files, one per type of mesh, whose classes contain empty methods to be filled in. Refer to the 'Mesh Templates For QuickStart' section in the Reference Manual.