iso_probe


Synopsis

create a surface of constant value at a picked probe location

Input Ports

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 Ports

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 Ports

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 Ports

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: examples/isop.v

File

v/modules.v

See also

Related modules