iso_probe
Synopsis
create a surface of constant value at a picked probe location
Input Port
in_field
|
Mesh + Node_Data
|
in_glyph
|
Grid mesh describing geometry of a probe
|
in_pick
|
pick information from renderer
|
ui_parent
|
user interface parent object
|
Parameters
iso component
|
UIradioBoxLabel
|
selects data component to be isosurfaced
|
map component
|
UIradioBoxLabel
|
data component to be mapped onto isosurface
|
Probe Normalize
|
toggle
|
switch to scale probe to data value
|
probe scale
|
UIslider
|
scale of probe to data value
|
value
|
UIfieldTypein
|
value at picked probe location
|
Transformation Editor
|
XformEditor
|
set the probe's location
|
Output Port
out_fld
|
Mesh + Node_Data
|
isosurface
|
out_fld1
|
Mesh
|
glyph
|
out_obj
|
obj
|
renderable isosurface object
|
out_obj1
|
obj
|
renderable glyph object
|
Description
iso_probe creates a surface of a given level value in a field at a probe position. This probe position is picked either interactively with the left mouse button, or specified through a Transformation Editor. This surface is, in effect, a 3D contour.
This isosurface of one component is colored by the value of another component, for example, the isosurface of density colored by temperature. The selected iso_probe component must be scalar. You use iso_probe when you want to see a graphic depiction of the locations of a particular data value at a particular location in a 3D field.
Input
in_field
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 of the components must be scalar.
in_glyph
Grid. A glyph to represent the probe object. This is simply a mesh describing the geometry of the glyph. Any mesh can be used, for example, that of a teapot, but for convenience you can use the predefined glyphs in Geometries (for example, Cross3D or Arrow1) to generate the mesh.
in_pick
This input connects to a renderer's picked_obj red output port. It informs iso_probe which object has been picked to probe.
ui_parent
A port to connect 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
iso component
UIradioBoxLabel 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.
map component
UIradioBoxLabel to pick a component that will map onto the isosurface, for example, map pressure value onto a density isosurface. The selection does not have to be scalar. The default is the first (0th component). If node data labels are present, they are displayed. Where the isosurface does not exactly intersect a node, the data value is linearly interpolated based on the surface's distance from the adjacent nodes.
Probe Normalize
UItoggle. If off, the size of the probe is proportional to the data component values at each node. If on, the probe is the probe scale size. The default is off.
probe scale
UIslider. A float slider to adjust the size of the probe. The default is 1.0. The range is -10.00 to 10.
value
UIslider. A float slider. This is an output parameter only--it displays the value of the data at the probe's location. Where the probe does not fall exactly on a node, the value is interpolated from the values of adjacent nodes.
Note that the value displayed is accurate if the selected component was a scalar. If it was a vector, you see only the value of that component's first vector element.
Transformation Editor
XformEditor. A transformation editor used to place the probe within the input field if you do not want to use the left mouse button to point and click a position.
Output Port
out_fld
The output field is an unstructured Mesh of cell type Tri that represents the 3D contour surface. Its Node_Data is the interpolated values of the map_component component along the isosurface.
out_fld1
This output is of marginal utility. It contains the mesh of the probe object and Node_Data that is the value of the data at the probe's current location.
out_obj
This is a renderable version of the output field.
out_obj1
This is a renderable version of the probe object.
Algorithm
iso_probe 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; where there are two possible paths that the isosurface could take through a cell, only one is the correct path. If isosurface picks the wrong path, a discontinuity appears as a hole in the surface.
Example
Libraries.Examples.Vizualization.Iso_Probe: v/dv_examp/isop.v
File
v/modules.v
See also related modules