Overview | All Modules | Tutorial | User's Guide | Programming Guide |
Module category: Mapper
The IsoSurfaceComp module creates an isosurface from a three dimensional structured and unstructured grid-based data mapped on this isosurface using the marching cubes algorithm. This module provides all functionalities of IsoSurface, but has an important advantage. You may considerably simplify your maps by using IsoSurfaceComp, because you may connect directly its first output port with a renderer, thereby relieving yourself from the burden of using Collect, Colors, VectorField, etc.
IsoSurfaceComp is available on all supported platforms.
Name | Type | Description |
gennormals | Boolean | Generation of surface normals. Since renderers often have problems generating normals on the fly, this option is recommended and TRUE by default. |
genstrips | Boolean | Generation of triangle strips. This option can be used to take advantage of graphics hardware in the final rendering steps. Default is TRUE. |
isopoint | Vector | Point determining the isosurface. |
isovalue | Boolean | The isovalue to be extracted from the data set. The default value is 0.0. |
autominmax | Boolean | - |
color_or_texture | Boolean | When true, the output Geometry object will have a an object describing colors. Otherwise, it will contain a texture. |
scale | Scalar | This parameter is relevant if you want to map vector fields on your cutting surfaces. In this case the vector field is represented by line objects. Their length is controled with this parameter (see parameter length below for further details). |
length | Choice | This is only relevant for vector data. You have 2 options: either 1*scale or length*scale. In the first one, all lines representing the vector field are the same length, given by parameter scale. In the second one, this scale is multiplied by the true length of the vector to determine the length for the lines. |
num_sectors | Scalar | This is only relevant for vector data. If you want to better visualise the direction of the vector field, you may wish to represent the output lines as arrows. The complexity of these arrows may be controled with this parameter. Do not be too greedy using it, the higher it is, the bigger the output object shall be. |
vector | Choice |
SurfaceAndLines
OnlySurface OnlyLines |
interactor | Choice |
Value
Point (You may determine the isosurface giving an isovalue or a point in 3D space.) |
|
Name | Type | Description |
requiredmeshIn | UniformGrid RectilinearGrid StructuredGrid UnstructuredGrid | All kinds of grid-based data is accepted as input including sets. |
requiredisoDataIn | Float Float | Scalar or vector data is accepted as input for isosurface generation. The number of elements (or vertices) must match that of the respective grid. |
optionaldataIn | Float Float Vec3 Vec3 | This optional port can be used to map additional values onto the created isosurface for coloring. |
optionalcolorMapIn | ColorMap | Optional color map for the output. If not used the module generates a color map based on the output data. |
|
Name | Type | Description |
outputgeometryOut | Geometry | The complete geometry output which can be directly connected with a renderer. |
outputmeshOut | Polygons TriangleStrips | Isosurface produced in either polygonal or optimized triangle strip format. |
outputdataOut | Float Vec3 | Interpolated data on the surface, when data has been provided at the optional input port dataIn. |
outputnormalOut | Unstructured_V3D_Normals | Normals calculated based on the weighted average of the face normals of all neighbor faces of the resulting polygonal isosurface. Normal generation turned on results in a higher memory consumption of the isosurface module. |
|
The first example network shows an isosurface generation using data from the GenDat module. A scalar field and a vector field are generated. IsoSurfaceComp creates isosurfaces for a given value of the scalar field. We map the vector field on the output geometry using colored lines. This task would require more modules if we had use the IsoSurface module instead.
You find the map in the directory covise/net/general/examples.
The next image is a snapshot of the results in the Inventor Renderer.
In this case, the module terminates execution, submits a message, increases the ratio by 5% and re-executes itself. To prevent this procedure, establish a higher starting value by putting a section with a higher value (e.g. 50%) into your covise.config:
IsosurfaceSurface { # Ratio of array size to number of input vertices in Percent VERTEX_RATIO 50 }
This value is used by both IsoSurface and IsoSurfaceComp. The theoretical maximum value is 300% (VERTEX_RATIO 300).
Authors: Martin Aumüller, Ruth Lang, Daniela Rainer, Jürgen Schulze-Döbold, Andreas Werner, Peter Wolf, Uwe Wössner |
Copyright © 1993-2022 HLRS, 2004-2014 RRZK, 2005-2014 Visenso |
COVISE Version 2021.12
|