isosurface
Synopsis
The isosurface module creates a surface of constant value.
Input Port
Parameters
Output Port
Description
isosurface creates a surface of a given constant value level in a field. This surface is, in effect, a 3D contour. This isosurface of one node data component can be colored by the value of another node data or cell data component (for example, the isosurface of density colored by temperature). The selected iso component must be scalar. You use isosurface when you want to see a graphic depiction of the locations of a particular data value in a 3D field.
Input
The input is any mesh with Node_Data. The mesh can be of any defined type (Mesh, Mesh_Struct, Mesh_Unif, Mesh_Rect). At least one node data component must be scalar.
A port for connecting to a user interface object that contains the macro's widgets. By default, it is connected to the default user interface object in the application in which the macro is instanced. (This default connection is not drawn.)
Parameters
UIradioBoxLabel. Radio buttons to pick which component to isosurface. The selected component must be scalar or the message "iso: first component is not scalar" is written to stderr . The default is the first (0th) component. If node data labels are present, they are displayed.
UIoptionBoxLabels. Option buttons to pick which components of node data or cell data to map onto output surface or volume (for example, map pressure value onto a density isovolume or onto a density isosurface).
Multiple components or none can be selected. The selected component(s) can be scalars or vectors. The default is the first (0th) component.
If node data labels are present, they are displayed. The data values are linearly interpolated based on the surface's distance from the adjacent nodes.
If cell data labels are present, they are displayed. The data values for each cell of the output mesh are copied from original cells.
UIslider. Float slider to set the isosurface level. The default is the selected component's (min+max)/2. The range is from min to max. The data type of the slider is converted to the data type of the node data before use.
Output Port
The output field is an unstructured triangular mesh that represents the contour surface. It may optionally have node and/or cell data.
Algorithm
isosurface uses the Marching Cubes algorithm to construct the isosurface. See W. Lorensen and H. Cline, "Marching Cubes: A High Resolution Surface Reconstruction Algorithm." Computer Graphics 21(4) (SIGGRAPH Proceedings, 1987), July, 1987, pp. 163-169.
This algorithm has a known limitation. There are cases where there are two possible paths that the isosurface could take through a cell, and only one is the correct path. If isosurface picks the wrong path, a discontinuity appears as a hole in the surface.
Example
File
Libraries.Examples.Visualization.Isosurface: v/dv_examp/isos.v
Libraries.Examples.Visualization.Crop: v/dv_examp/crop.v
Libraries.Examples.Visualization.Downsize: v/dv_examp/down.v
Libraries.Examples.Visualization.Probe: v/dv_examp/probe.v
Libraries.Examples.Applications.IsoApp: v/dv_examp/iso.vSee also related modules