TOC PREV NEXT INDEX

The Data Visualization Kit


5

Macros  


This chapter provides an introduction and comprehensive reference material for the Data Visualization Kit high level macros.

Note: Some of the macros described in this chapter are available only in the Developer Edition. Where this is the case, a line identifying this fact appears directly below the module name at the top of the page.
5.1 Introduction
5.1.1 Visualization macros

Visualization macros are macro objects that combine visualization base modules with UI objects in a structure that is convenient for building visualization networks and applications. Visualization macros have input/output ports and UI widgets that automatically appear on the Module Stack panel. You connect them using the Network Editor.

In Libraries.Main, the visualization macros are classified as follows:

Input
Modules and macros that input data files from disk or create data. Geometries, for example, create objects such as slice planes, 2D and 3D axes, crosshairs, arrows, and diamonds, that are used by other modules to slice data, represent vector quantities, act as data probes, show data, and so forth.
Modules and macros that read data from disk are documented in this chapter.
Geometries are documented in Chapter 4, Geometries".
Filters
Modules and macros that primarily modify the field's Node_Data.
Mappers
Modules that primarily modify the field's mesh.
Imaging
Modules and macros that use the ip_Image data type for image processing. These are documented in Chapter 5, IP image processing macros".
Viewers
Modules and macros that render data on the screen. These objects are part of the Graphics Display Kit, not the Data Visualization Kit. They are documented in the Graphics Display Kit manual.
Output
Modules and macros that write data to disk files.
5.1.2 Finding objects in the palette

Visualization objects appear multiple times in a variety of places in the Libraries palette other than Main. To find them, use the Network Editor's Object Finder (see the User's Guide for details).

5.1.3 Showing status and interrupting module execution

Most modules and macros report their status and their execution can be interrupted from the Module Stack Controls panel.

5.1.4 Examples

Most visualization modules and macros have sample networks that you can run showing how the object is properly connected within a network, and the kinds of effects it can produce on sample data.

Each reference page lists the sample networks that illustrate its use.

The examples are found in Libraries.Examples.Visualization in the Network Editor.

5.1.5 Finding the path to the module

The reference pages for the modules include a path to the module. This path describes where you can locate the module in the network editor. Some modules belong to more than one library (for example, slice). To locate all paths to a particular module, use the Object Finder.

5.1.6 Finding the right parameter port
Ports are documented from left to right

When determining which port on the icon corresponds to which documented item, remember that ports are documented from left to right. The first input port documented on the reference page is the leftmost port on the icon, the second input port documented is the second port from the left on the icon, and so on.

You can use a module or macro icon's Info panel to see the name and class of a port:

5.1.7 V source

Visualization macros are defined in v/modules.v.

5.1.8 Vertex normal generation

The Graphics Display Kit contains a GDmodes subobject called normals whose value specifies whether and how vertex normals are generated for Data Visualization Kit modules. The following table lists the allowed values for the normals subobject and their meanings:

Value
Meaning
Symbolic constant
0
Inherit the parent's vertex normals mode.
GD_NORMALS_INHERIT
1
Do not generate vertex normals.
GD_NORMALS_NONE
2
Generate vertex normals.
GD_NORMALS_VERTEX

GD_NORMALS_VERTEX is the default for most modules, and vertex normals are therefore generated.

However, for the following modules, the default setting is GD_NORMALS_NONE:

For more information on the GDmodes subobject, see Section 6.15, DefaultModes  [page 6-51] in the Graphics Display Kit manual.

5.2 advector
Synopsis

release massless particles into velocity field

Input Ports
in_field
Mesh + Node_Data
in_probe
mesh of initial particle positions
in_glyph
Grid describing geometry of particle glyph
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Parameters
velocity vector
UIradioBoxLabel
selects which vector component to advect
N-segments
UIslider
accuracy of integration
Max Segments
UIslider
total number of integration steps
Order
UIslider
order of integration
Min Velocity
UIslider
minimum velocity value when integration stops
Direction
UIradioBoxLabel
forward/backward motion of particles
Mode
UIradioBoxLabel
render glyphs to represent data values
Glyph Normalize
UItoggle
normalizes glyph size
Glyph Scale
UIslider
scale factor for glyph
Start Time
UIslider
start of advection
End Time
UIslider
end of advection
Step
UIslider
integration step
Time
UIfieldTypein
current time value
Run
UItoggle
press to start/stop advection
Reset Time
UItoggle
reset time to Start Time
Cycle
UItoggle
on End Time, continue with Start Time

Description

advector releases a sample of zero mass particles into a field with a component that represents a velocity vector, for example, a fluid flow simulation. The particles have no initial direction or speed. The particles move through the velocity field according to the magnitude and direction of the vectors at the nodes in the volume. A forward differencing method is used to estimate the next position of each particle as a function of its current position and velocity (see the section labelled Algorithm on page 5-10).

Advection starts when you turn the Run toggle on. Advection for individual particles stops when one of the following conditions occurs:

Advection of all particles stops when one of the following two conditions occurs:

Input Ports
in_field
The input is any mesh with Node_Data. The first component is used and must be a scalar or a two- or three-element velocity vector. You can use extract_component before this macro to get the component you want out of a multi-component field.
in_probe
Any mesh whose coordinates represent the sample points. Meshes that are not unstructured are accepted, but a local unstructured version is generated during execution.
To create this sampling mesh you could use the plane object in Geometries.FPlane or the slice macro.
in_glyph
A Grid describing a glyph to represent the particles. 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 Geometries objects to generate arrows or solid arrows, and so on
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
velocity vector
UIradioBoxLabel. A radio box to pick which of the input field's components to use as the velocity vector. The selection can be a one-, two-, or three-element vector. The default is the first (0th) component. If node data labels are present, they are displayed.
N-segments
UIslider. An integer slider that sets the number of integration steps used within one grid "cell" to compute the streamline/particle path. The default is 2. The range is from 0 to 16.
Max Segments
UIslider. An integer slider that sets the total number of integration steps. When an individual particle exceeds this value, integration for it stops. The range is from 1 to 10000. The default is 256.
Order
UIslider. An integer slider that sets the order of integration. Higher orders are more accurate, but execute more slowly. The default is 2. The range is from 1 to 4.
Min Velocity
UIslider. A float slider. When a particle falls below this velocity, the integration process for that particle stops. The default is 0.00001. The range is from 0.0 to unbounded. You can use this to prevent wasted computation for particles barely moving, or even stationary (Min Velocity = 0).
Direction
UIradioBoxLabel. A radio box that controls whether particles are advected forward or backward from the starting sample points. The default is forward.
Mode
UIradioBoxLabel. A radio box that establishes how glyphs are rendered to represent the data values. (Glyphs are always colored by the magnitude of the data values in the component.) The choices are scalar, vector, or components:
scalar
Scale the glyph by the magnitude of the vector at that position.
vector (default)
Scale the glyph by the magnitude of the vector at that position. Also rotate the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe would be rotated to reflect the vector values.
components
Scale the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe's three lines would be individually scaled to match the vector values.
Glyph Normalize
UItoggle. If off, the sizes of the glyphs are proportional to the data component values at each node. If on, all glyphs are the same size. The default is off.
Glyph Scale
UIslider. A float slider to adjust the sizes of the glyphs. The default is 1.00. The range is 0.0 to 100.00.
Start Time
UIslider. A float. The time value along the original streamline continuum at which to start advection. (See DVadvect man page.) The default is 0.0.
End Time
UIslider. A float. The time value along the original streamline at which to halt advection of all particles. The default is 1.0.
Step
UIslider. A float. The value by which to increment the time along the original streamline continuum for each advection step. The default is 0.2.
Time
UIfieldTypein. An output only widget that displays the current time in the count from Start Time to End Time.
Run
UItoggle. Starts or stops advection.
Reset Time
UItoggle. Reset Time to the value of Start Time.
Cycle
UItoggle. When End Time is reached, start the advection again at Start Time.
Output Ports
out_fld
The output is a new unstructured Mesh composed of the original mesh plus the meshes representing the particles. Its new Node_Data element's values represent the selected velocity component.
out_fld1
This output field is a new unstructured mesh of cell type Polyline that represents the streamlines. Its new Node_Data contains the selected element's velocity component. The output also contains a reference to the input field's xform.
out_obj
This is a renderable version of the out_fld output field.
out_obj1
This is a renderable version of the out_fld1 output field.
Algorithm

advector uses precomputed streamlines (from DVstream) as particle paths. It integrates velocity along the streamlines to calculate the new position of the particles at each time step.

The streamlines are originally calculated using the Runge-Kutta method of specified order with adaptive time steps.

Example

Libraries.Examples.Visualization.Advect
examples/advect.v

File

v/modules.v

See also
Section 5.95, streamlines  [page 5-232]
5.3 advect_multi_block
Synopsis

release massless particles into Multi_Block velocity field

Input Ports
in_field
Multi_Block velocity field
in_probe
mesh of initial particle positions
in_glyph
Grid describing geometry of particle glyph
parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

advect_multi_block releases a sample of zero mass particles into a field with a component that represents a velocity vector, for example, a fluid flow simulation. The particles move through the velocity field according to the magnitude and direction of the vectors at the nodes in the volume. A forward differencing method estimates the next position of each particle as a function of its current position and velocity (see "Algorithm" on page 5-15).

Advection starts when you turn the Run toggle on. Advection for an individual particle stops when one of the following conditions occurs:

Advection of all particles stops when one of the following conditions occurs:

Input Ports
in_field
The input is a Multi_Block object. A Multi_Block object can be created with fields_to_mblock or Plot3D_Multi_Block. A Multi_Block object consists of an array of fields describing the data and some ancillary metadata. The first component of the fields' data is used and must be a scalar or a two- or three-element velocity vector. You can use mblock_to_fields, extract_component_ARR and fields_to_mblock before this macro to get the component you want from a multi-component Multi_Block.
in_probe
Any mesh whose coordinates represent the sample points. Meshes that are not unstructured are accepted, but a local unstructured version is generated during execution.
To create this sampling mesh you could use the slice macro or the plane object in Geometries.FPlane.
in_glyph
A Grid describing a glyph to represent the particles. 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 Geometries objects to generate arrows or solid arrows, and so on
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
N-segments
UIslider. An integer slider that sets the number of integration steps used within one grid "cell" to compute the streamline/particle path. The default is 2. The range is from 0 to 16.
Max Segments
UIslider. An integer slider that sets the total number of integration steps. When an individual particle exceeds this value, integration for it stops. The range is from 1 to 10000. The default is 256.
Order
UIslider. An integer slider that sets the order of integration. Higher orders are more accurate, but execute more slowly. The default is 2. The range is from 1 to 4.
Min Velocity
UIslider. A float slider. When a particle falls below this velocity, the integration process for that particle stops. The default is 0.00001. The range is from 0.0 to unbounded. You can use this to prevent wasted computation for particles barely moving, or even stationary (Min Velocity = 0).
Direction
UIradioBoxLabel. A radio box that controls whether particles are advected forward (1) or backward (0) from the starting sample points. The default is forward.
Mode
UIradioBoxLabel. A radio box that establishes how glyphs are rendered to represent the data values. (Glyphs are always colored by the magnitude of the data values in the component.) The choices are:
scalar
Scale the glyph by the magnitude of the vector at that position.
vector (default)
Scale the glyph by the magnitude of the vector at that position. Also rotate the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe would be rotated to reflect the vector values.
components
Scale the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe's three lines would be individually scaled to match the vector values.
Glyph Normalize
UItoggle. If off (0), the sizes of the glyphs are made proportional to the data component values at each node. If on (1), all glyphs are the same size. The default is off.
Glyph Scale
UIslider. A float slider to adjust the sizes of the glyphs. The default is 1.00. The range is 0.00 to 100.00.
Start Time
UIslider. The time value along the original streamline continuum at which to start advection. (See DVadvect reference page.) The default is 0.0.
End Time
UIslider. The time value along the original streamline continuum at which to halt advection of all particles. The default is 1.0.
Step
UIslider. The value by which to increment the time along the original streamline continuum for each advection step. The default is 0.2
Time
UIfieldTypein. An output only widget that displays the current time in the count from Start Time to End Time.
Run
UItoggle. Starts (1) or stops (0) advection.
Reset Time
UItoggle. Reset Time to the value of Start Time.
Cycle
UItoggle. When End Time is reached, start the advection again at Start Time.
Output Ports
out_fld
The output is a new unstructured Mesh composed of the original mesh plus the meshes representing the particles. Its new Node_Data element's values represent the selected velocity component.
out_fld1
This output field is a new unstructured mesh of cell type Polyline that represents the streamlines. Its new Node_Data contains the selected element's velocity component. The output also contains a reference to the input field's xform.
out_obj
This is a renderable version of the out_fld output field.
out_obj1
This is a renderable version of the out_fld1 output field.
Algorithm

advect_multi_block uses precomputed streamlines (from DVstream) as particle paths. It integrates velocity along the streamlines to calculate the new position of the particles at each time step.

The streamlines are originally calculated using the Runge-Kutta method of specified order with adaptive time steps.

Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.120, *_ARR (multiblock modules)  [page 5-297]
Section 5.66, Plot3d_Multi_Block  [page 5-154]
Section 5.96, stream_multi_block  [page 5-235]
Section 5.42, fields_to_mblock  [page 5-100]
Section 5.2, advector  [page 5-6]
5.4 bounds
Synopsis

generate a bounding box of a 3D structured field

Input Ports
in_field
Mesh_Struct
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
selects which component to output
Hull
UItoggle
display hull
Edges
UItoggle
display edges
Faces
UItoggle
display faces
Imin
UItoggle
display first dimension minimum
Imax
UItoggle
display first dimension maximum
Jmin
UItoggle
display second dimension minimum
Jmax
UItoggle
display second dimension maximum
Kmin
UItoggle
display third dimension minimum
Kmax
UItoggle
display third dimension maximum
Data
UItoggle
output selected Data Component

Output Ports
out_fld
Mesh [+ Node_Data]
out_obj
output renderable object

Description

bounds generates lines and/or surfaces that indicate the bounding box of a 3D structured field. This is useful when you need to see the shape of an object and the structure of its mesh. For example, isosurface can produce a fairly cryptic shape floating without context in space, but when combined with bounds, you see the isosurface within its surrounding mesh.

Input Ports
in_field
The input field must contain any type of structured mesh (mesh type Mesh_Struct, Mesh_Unif or Mesh_Rect). Node_Data can be present, but is only used if you switch on Data.
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
data component
UIradioBoxLabel. Selects which of the input field's components to send to the output, if Data is also turned on. The default is the first (0th) component. If node data labels are present, they are displayed.
Hull
UItoggle. When on, draws a wireframe around the perimeter extents of the mesh. The default is on.
Edges
UItoggle. When on, causes the Imin/Imax, Jmin/Jmax, Kmin/Kmax controls to produce a wireframe representation of the mesh grid at that plane. The default is off.
Faces
UItoggle. When on, causes the Imin/Imax, Jmin/Jmax, Kmin/Kmax controls to produce a solid face representing the location of that plane extent. The default is off.
Imin
Imax
Jmin
Jmax
Kmin
Kmax
UItoggle. When on, each of these switches displays the grid (Edges turned on) or plane (Faces turned on) on one of the six faces of the hull. Imin/Imax draw a mesh or face showing the 2D slice of field objects with the minimum/maximum index value in the first dimension. Jmin/Jmax draw a mesh or face showing the 2D slice of field objects with the minimum/maximum index in the second dimension. Kmin/Kmax control the third dimension. The default for all is off.
data
UItoggle. When on, makes bounds copy the selected component's Node_Data values at node points along the output mesh to the output field. Because the data is present, the bounds lines can be colored by the interpolated data values of the selected Node_Data component. Otherwise, the lines display as white in the renderer. The default is off.
Output Ports
out_fld
The output field contains a new unstructured Mesh object with cell type Polyline (Edges selected) and/or Quad (Faces set) representing the bounds. If Data was selected, the output field also contains a Node_Data that is the selected component's values at nodes on the output mesh.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Vizualization.Crop
examples/crop.v

File

v/modules.v

See also

Related modules

Section 5.33, external_edges  [page 5-85]
Section 5.34, external_faces  [page 5-87]
5.5 cell_centers
Synopsis

produce a Point mesh representing geometric centers of each cells

Input Ports
in_field
Mesh

Parameters
None
Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

cell_centers module produces a mesh containing Point cell set, each point of which represents a geometrical center of a corresponding cell in the input mesh. The coordinates of cell centers are calculated by averaging coordinates of all the nodes of a cell. The number of nodes in the output mesh is equal to number of cells in the input mesh. If the input mesh contains Cell_Data it becomes a Node_Data in the output mesh with each node values equal to corresponding cell value. You can use this module to create a position mesh for the glyph module (see Section 5.45, glyph  [page 5-105]).

Input Ports
in_field
The input must contain any type of mesh.
Output ports
out_fld
The output field contains a new mesh that consists of points representing geometrical centers of a corresponding cells in the input mesh.geoetric centers. It also may contain a Node_Data that corresponds to Cell_Data in the input mesh.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Cylinder_Plot_Unif
examples/cyl_plot_unif.v

File

v/modules.v

See also

Related modules:

Section 5.24, cylinder_plot_unif  [page 5-62]
Section 5.41, extrude_cells  [page 5-98]
Section 5.89, shrink_cells  [page 5-220]
Section 5.45, glyph  [page 5-105]
5.6 cell_data_math
Synopsis

perform arbitrary math operations on cell-based data

Input Ports
in_field1
Mesh+Cell_Data
in_field2
Mesh+Cell_Data
in_field3
Mesh+Cell_Data
in_field4
Mesh+Cell_Data
ui_parent
user interface parent object

Output Ports
out_fld
Mesh+Cell_Data
out_obj
output renderable object

Description

cell_data_math performs arbitrary math operations on up to four cell-based datasets. You can use any operation or expression that can be specified in the V language to operate on the data. The expression you enter may use #1, #2, #3, and #4 to stand for the four input fields.

Input Ports
in_field1
Mesh+Cell_Data. Input to math expression. Use "#1" in the expression to refer to this field.
in_field2
Mesh+Cell_Data. Input to math expression. Use "#2" in the expression to refer to this field.
in_field3
Mesh+Cell_Data. Input to math expression. Use "#3" in the expression to refer to this field.
in_field4
Mesh+Cell_Data. Input to math expression. Use "#4" in the expression to refer to this field.
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
(no widget text)
UItext. Math expression to perform on the cell data of the inputs. All V language expressions are valid; use #1 through #4 to refer to the input fields. For example, the expression sqrt(#1 * 10 + sin(#2/#3))computes a function of the first three inputs.
Output Ports
out_fld
Mesh+Cell_Data. Contains the result of applying the given expression to the input field(s).
out_obj
Renderable object. Renderable version of out_fld.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.25, data_math  [page 5-66]
5.7 cell_to_node
Synopsis

convert Cell_Data to Node_Data

Input Ports
in_field
Mesh+Cell_Data
ui_parent
user interface parent object

Parameters
Cell Data Components
UIoptionBoxLabel
pick cell data components to convert
Interpolation Order
UIslider
set order of interpolation

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

cell_to_node converts Cell_Data to Node_Data. It is necessary to convert cell-based data to node data when the visualization modules or macros selected do not process cell-based data.

Note: All nodes referenced by a cell with a NULL value will have their Node_Data set to NULL.
Inputs Ports
in_field
The input is a field with an unstructured Mesh and Cell_Data.
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
Cell Data Components
UIoptionBoxLabel. A series of buttons that let you select which components in the input field to convert to Node_Data. You can select multiple components. If the Cell_Data contains multiple cell_sets, the conversion is performed on the specified components in each cell_set.
Interpolation Order
UIslider. An integer that sets the order of interpolation. Allowed values are:
0
averaging. A node's value is computed by averaging values at all adjoining cells.
1-n
A node's value is computed by interpolating values using distances from the node to the adjoining cell centroids.
Output Ports
out_field
The output is a reference to a merged object that contains the new Node_Data, plus the existing Mesh and Cell_Data.
out_obj
This is a renderable version of the output field.
Files

v/modules.v

Example

Libraries.Examples.Visualization.Cell_Data
examples/celld.v

See also

Related modules

Section 5.35, extract_cell_component  [page 5-89]
Section 5.83, select_cells  [page 5-208]
5.8 city_plot
Synopsis

create plot of blocks based on the height (value) of a 2D field

Input Ports
in_field
Mesh_Unif+Node_Data+Dim2
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

city_plot creates a block on each node of the input mesh. The color and height (out of the grid) of the block are determined independently by selectable input data components at that node. The lower left (min X and Y) corner of the block is at the node's coordinate, so the city plot extends over the dimensions of the field by one block width (in X) and length (in Y), because the block at (maxX, maxY) extends from that point to (max_x + scale_x * x spacing, max _y + scale_y * y spacing).

Input Ports
in_field
Mesh_Unif + Node_Data + Dim2. The 2D field to be plotted.
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
Height Component
UIradioBoxLabel. Selects which component of the input to map to the height of the block at that point of the grid.
Color Component
UIradioBoxLabel. Selects which component of the input to map to the color of the block at that point of the grid.
Normalize
UItoggle. When turned on (1), the heights of the blocks are normalized to a constant value set by the height scale, and the glyph_comp is ignored.
height scale
UIslider. Scales the input height value by this amount. If normalize is on, this value becomes the height of the blocks. Height is measured in the coordinate system of the input field.
x-scale
UIslider. Scales the X size of each block relative to the size of that block's cell width. scale_x of 1 means the block takes up the full width of the cell and abuts the next block (in X); scale_x of 0.5 means the block takes up 1/2 the width of the cell.
y-scale
UIslider. Scales the Y size of each block relative to the size of that block's cell width. scale_y of 1 means the block takes up the full length of the cell and abuts the next block (in Y); scale_y of 0.5 means the block takes up 1/2 the length of the cell.
Output Ports
out_fld
The output field is an unstructured Mesh of cell type Quad containing the blocks.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.City_Plot
examples/city_plot.v

File

v/modules.v

See also

Related modules

Section 5.44, geo_glyph  [page 5-103]
5.9 clamp
Synopsis

clamp minimum and maximum values of data

Input Ports
in_field
Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
selects component to clamp
vector component
UIslider
which subcomponent to clamp
Above max value
UItoggle
clamp above max value
Below min value
UItoggle
clamp below min value
Reset min-max
UItoggle
reset data min/max
min value
UIslider
minimum value
max value
UIslider
maximum value

Output Ports
out_fld
Node_Data
out_obj
output renderable object

Description

clamp transforms the values of the selected field component subcomponent as follows:

If Above max_value and Below min_value are on, the output field's selected component values are all in the range of min value <= value <= max value. Null data values are not affected.

Note the difference between clamp and the threshold macro:

Input Ports
in_field
The input field must contain a Node_Data object. If a Mesh is present, it is passed along untouched as a reference in the output field. The field's data components can be scalar or vector.
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
data component
UIradioBoxLabel. Selects which of the input field's components to clamp. The default is the first (0th) component. If node data labels are present, they are displayed.
vector component
UIslider. If the selected data component is non-scalar, you can pick which subcomponent to clamp. The range is 0 (first subcomponent) to the number of subcomponents. The default is 0.
Above max value
UItoggle. When on, clamps data above the max value. The default is off.
Below min value
UItoggle. When on, clamps data below the min value. The default is on.
Reset min-max
UItoggle. When on, clamp recalculates the data's minimum and maximum values. The default is off.
min value
max value
UIslider. Double precision floating point sliders that set the min and max values. The default is set to the input field component's node data minimum and maximum. The range shown is from the component's node data minimum to its maximum. The double precision value is converted to the data type of the input field before use. Two decimal points of precision are given.
Output Ports
out_fld
The output field contains a new Node_Data object that is the clamped component. If a Mesh was present, the output field contains a reference to that mesh.
out_obj
If a Mesh was present, this is a renderable version of the output field. Otherwise, rendering objects generate an error.
Example

Libraries.Examples.Vizualization.Clamp
examples/clamp.v

File

v/modules.v

See also

Related modules

Section 5.106, threshold  [page 5-264]
5.10 combine_comp
Synopsis

take components from two different fields to make a new n-component field

Input Ports
in_field1
Node_Data
in_field2
Node_Data
ui_parent
user interface parent object

Parameters
data components 1
UIoptionBoxLabel
pick components from first field
data components 2
UIoptionBoxLabel
pick components from second field

Output Ports
out_fld
Node_Data
out_obj
output renderable object

Description

combine_comp takes the selected components from the first input field, and the selected components from the second input field, creating a new output field with n components. The output field's mesh, if present, comes from the first input field. For example, selecting the second components from each of the fields (a, b, c) and (d, [e, f, g]) results in the field (b, [e, f, g]).

Input Ports
in_field1
This input field must contain any mesh with Node_Data object. If a mesh is present, it is passed along untouched as a reference in the output field. The field's data components can be scalar or vector.
in_field2
This input field must contain a Node_Data.
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
data component 1
data component 2
UIoptionBoxLabel. Select which of the input fields' components to combine. The default for both is the first (0th) component. If node data labels are present, they are displayed.
Output Ports
out_fld
The output field is a Node_Data that is an array of references to the two selected Node_Data components. If a mesh was present, the output field contains a reference to that mesh.
out_obj
This is a renderable version of the output field.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.36, extract_component  [page 5-91]
Section 5.40, extract_scalar  [page 5-96]
Section 5.15, combine_vect  [page 5-39]
5.11 combine_mesh_cell_data
Synopsis

combines a mesh and cell data array to produce a field

Input Ports
in_mesh
Mesh
in_data[]
prim

Output Ports
out
Mesh+Cell_Data
out_obj
output renderable object

Description

combine_mesh_cell_data combines a mesh and and a cell data array. The in_data object represents the values of some dataset at the cells of a field, while the in_mesh represents the locations and connectivity of that mesh's nodes and cells. The in_mesh object should have one cell set to which cell data is added. The in_data can be a primitive array of any type: byte, int, float, etc. If in_data is a one dimensional array, the scalar cell data is created. The dimension of this array should be the same as ncells in in_mesh. If it is two-dimensional array, the low dimension is used for data veclen and the high dimension should be the same as ncells in in_mesh.

This macro simplifies the process of generating field; it is used to combine the output of a mesh mapper with the raw array of cell data.

Input Ports
in_mesh
Mesh containing one cell set.
in_data
prim. This array can be of any primitive type (int, float. etc.)
Parameters

none

Output Ports
out
Mesh+Cell_Data. Mesh with cell data.
obj
Output renderable object corresponding to out.
Example

Not available.

File

v/fld_map.v

5.12 combine_mesh_data
Synopsis

combine a mesh and some node data to produce a field

Input Ports
in_mesh
Mesh
in_nd
Node_Data

Output Ports
out
Mesh+Node_Data = merge(in_mesh, in_nd);
out_obj
output renderable object

Description

combine_mesh_data combines a mesh and some node data. A Node_Data object represents the values of some dataset at the node points of a field, while the Mesh represents the locations of that field's nodes in space.

This macro simplifies the process of generating field data by reducing the amount of data you must supply to create a field. Usually this macro is used to combine the output of a mesh mapper with the output of one or more data mappers.

Input Ports
in_mesh
Mesh. This input is the Mesh part of the result.
in_nd
Node_Data. This input is the Node_Data part of the result.
Parameters

none

Output Ports
out
Mesh+Node_Data. This contains the two inputs, merged.
obj
Output renderable object corresponding to out.
Example

Not available.

File

v/fld_map.v


See also

Related modules

Section 5.62, node_scalar, node_vector  [page 5-146]
Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
5.13 combine_node_datas
Synopsis

combine different Node_Datas into one Node_Data with multiple components

Input Ports
in[]
Node_Data

Output Ports
out
Node_Data

Description

combine_node_datas combines several sets of node data (for example, radius and color data), into one node dataset that can be incorporated into a field. It makes each node_data into a component of the output Node_Data. If an input has more than one component, all its components are inserted into the output in order, at the same level as the other components from other inputs.

A Node_Data object represents the values of some dataset at the node points of a field, while the Mesh represents the locations of that field's nodes in space.

These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data, with the output of one of the mesh mapper macros to create a field.

Input Ports
in
Node_Data[]. This input is an array of Node_Data objects. Each one becomes one or more components of the output Node_Data.
Parameters

none

Output Ports
out
Node_Data. This contains all the components from the inputs.
Example

Not available.

File

v/fld_map.v

See also
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.62, node_scalar, node_vector  [page 5-146]
Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
5.14 combine_rgb
Synopsis

combine three scalars into an RGB image

Input Ports
in_field1
Mesh_Unif+Dim2+Byte+Space2+Node_Data
in_field2
Mesh_Unif+Dim2+Byte+Space2+Node_Data
in_field3
Mesh_Unif+Dim2+Byte+Space2+Node_Data

Output Ports
out_fld
image
out_obj
output renderable object

Description

combine_rgb combines three scalar 2D, 2-space byte input fields into an RGB image. This macro is similar to combine_vect except it only works on exactly three 2D 2-space uniform byte fields, and it sets the resulting node data ID to tell the renderer that it is an RGB image.

Input Ports
in_field1
Mesh_Unif+Dim2+Byte+Space2+Node_Data. This field represents the red channel of the image.
in_field2
Mesh_Unif+Dim2+Byte+Space2+Node_Data. This field represents the green channel of the image.
in_field3
Mesh_Unif+Dim2+Byte+Space2+Node_Data. This field represents the blue channel of the image.
Parameters

none

Output Ports
out_fld
RGB image field.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.15, combine_vect  [page 5-39]
Section 5.40, extract_scalar  [page 5-96]
5.15 combine_vect
Synopsis

combine n scalar components into a single n-vector component

Input Ports
in_field
Node_Data
ui_parent
user interface parent object

Parameters
veclen
UIslider
output veclen
vector components
UIoptionBoxLabel
which components to combine

Output Ports
out_fld
Node_Data
out_obj
output renderable object

Description

combine_vect takes all the selected data components, which must be scalar, and produces a single output data component that is the specified veclen long. For example, selecting the first and third components of (a, b, c, [e,f,g]) results in the field ([a, c]).

Input Ports
in_field
The input field must contain a Node_Data object. If a mesh is present, it is passed along untouched as a reference in the output field. The field's data components must include at least two scalar components.
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
veclen
UIslider. Sets the number of scalar components to combine and the out_fld's single component veclen. The default is 3. The range is 1 to 4.
vector components
UIoptionBoxLabel. Selects which of the input field's components to combine. If you select vector components, only the first vector subcomponent is extracted. If node data labels are present, they are displayed. The default is the first three components.
Output Ports
out_fld
The output field contains a new Node_Data that is a data array of references to the selected components in the original input Node_Data. It has one component with veclen equal to the specified veclen. If a mesh was present, the output field contains a reference to that mesh.
out_obj
If a mesh was present, this is a renderable version of the output field. Otherwise, rendering objects generate an error.
Example

Libraries.Examples.Visualization.Advect
examples/advect.v
Libraries.Examples.Visualization.Curl
examples/curl.v
Libraries.Examples.Visualization.Glyph_Interp
examples/glh_intp.v

File

v/modules.v

See also

Related modules

Section 5.36, extract_component  [page 5-91]
Section 5.40, extract_scalar  [page 5-96]
Section 5.10, combine_comp  [page 5-30]
5.16 concat_2_arrays, concat_3_arrays, concat_4_arrays
Synopsis

concatenate elements of several arrays or individual scalar primitives into an array

Input Ports
in1
prim[]
any scalar primitive or array of such
in2
prim[]
any scalar primitive or array of such
in3
prim[]
any scalar primitive or array of such
in4
prim[]
any scalar primitive or array of such

Output Port
out
prim[][N]
N is 2, 3 or 4

Description

These modules concatenate elements of several arrays or individual scalar primitives into an output array. Input arrays may have any dimensionality, but are treated as 1-dimensional, in memory order.

Input arrays can have different total sizes; the size of the output array is the sum of the sizes of the input arrays. The output array contains all elements from the first array, followed by all elements from the second array, and so on.

For example, this can be used to create an XYZ coordinate array from separate X, Y, and Z arrays.

Input Ports
in1
prim[]. One of the input arrays or scalar primitives.
in2
prim[]. One of the input arrays or scalar primitives.
in3
prim[]. One of the input arrays or scalar primitives.
in4
prim[]. One of the input arrays or scalar primitives.
Parameters

none

Output Port
out
prim[]. The output array containing the concatenated data.
Example

Not available.

File

v/fld_map.v

See also

Related modules:

Section 5.47, interleave_2_arrays, interleave_3_arrays, interleave_4_arrays  [page 5-110].
5.17 contour
Synopsis

create an isovolume bounded by two isosurfaces (3D) or isolines (2D)

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
contour component
UIradioBoxLabel
component to contour
map components
UIoptionBoxLabel
components to output
min level
UIslider
 
max level
UIslider
 

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

contour creates a field that is the volume bounded by two isosurfaces (if the field is 3D) or two isolines (if the field is 2D).

For example, you could set the min level and max level isosurfaces to densities found just outside a bone. When combined, the isovolume produced would be the bone itself.

The isosurfaces or isolines are colored by the first map component selected. All of the selected map components are in the Node_Data of the output field.

Note: The contour module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input is any mesh with Node_Data. A 2D mesh will produce isolines. A 3D mesh produces isosurfaces. At least one of the components must be scalar.
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
contour component
UIradioBoxLabel to pick which component to isosurface/isoline. 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
UIoptionBoxLabel to pick components that will be written to the output field. In addition, the first selected component will be mapped onto the isosurface/isoline (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/isoline does not exactly intersect a node, the data value is linearly interpolated based on the surface's distance from the adjacent nodes.
min level
max level
UIslider. Float sliders that set the minimum and maximum isosurface/isoline values, between which data is extracted. The default is 0.0. The range is from the minimum data value in the selected contour component to the maximum data value in the selected contour component. The data type of the slider is converted to the data type of the node data before use.
Output Ports
out_fld
The output field is an unstructured Mesh of cell type Tri (3D) or Line (2D) that represents the contour volume. Its Node_Data is the values within the volume. The surface values are interpolated along the isosurface/lines.
out_obj
This is a renderable version of the output field.
Algorithm

contour uses the Marching Cubes algorithm to construct the isosurfaces/isolines. 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

Libraries.Examples.Vizualization.Contour
examples/cont.v
Libraries.Examples.Vizualization.Contour_2D_Unif
examples/cont2uni.v
Libraries.Examples.Vizualization.Cylinder
examples/cyl.v

File

v/modules.v

See also

Related modules

Section 5.56, isovolume  [page 5-134]
Section 5.52, isoline  [page 5-122]
Section 5.53, isoline_trace  [page 5-125]
Section 5.55, isosurface_trace  [page 5-131]
Section 5.51, iso_probe  [page 5-118]
Section 5.54, isosurface  [page 5-128]
5.18 copy_ROI
Synopsis

copy a mesh to a selected region of an output array of meshes

Input Ports
FieldIn
Mesh_Unif+Node_Data+Dim3
MeshIn
Mesh

Parameters
Start
UItoggle
start index in output array of meshes
Stop
UItoggle
stop index in output array of meshes
Run
UItoggle
copy the input mesh to the output array

Output Ports
out
MeshArray

Description

copy_ROI copies an input mesh, typically created by one of the Graphics Display Kit's interactive drawing modules (for example, ClickSketch, ContinuousSketch) to an array of output meshes. This module is a quick way to create an array of ROIs that correspond to a volume. The ROIs can subsequently be edited individually by using the EditMesh module.

The size of the output mesh array is determined by using a reference input field. The input mesh may be copied to a region of the output mesh array by using the start and stop parameters appropriately.

Input Ports
FieldIn
The reference input field must be uniform, 3D and have node data. This field is used to dimension the output array of meshes
MeshIn
The input mesh to be copied into the output mesh array.
Parameters
Start
UIfieldTypein. Start index into the output mesh array.
Stop
UIfieldTypein. Start index into the output mesh array.
Run
UItoggle. When set, Run starts the copy operation. It is automatically cleared when the copy operation is completed.
Output Ports
out
The output array of meshes. This array is dimensioned by the reference input field. Depending on the values of Start and Stop, all or part of the output
Example

Libraries.Examples.Visualization.Tile_ROI
Libraries.Examples.Visualization.Display_Vol_ROI

File

v/modules.v

See also

Related modules

Section 5.26, display_vol_ROI  [page 5-68]
Section 5.107, tile_ROIs  [page 5-268]
Section 5.109, tile_volume_ROIs  [page 5-272]
5.19 crop
Synopsis

extract a subset of a structured field

Input Ports
in_field
Mesh_Struct+Node_Data
ui_parent
user interface parent object

Parameters
I min
UIslider
lower bound of the first dimension
I max
UIslider
upper bound of the first dimension
J min
UIslider
lower bound of the second dimension
J max
UIslider
upper bound of the second dimension
K min
UIslider
lower bound of the third dimension
K max
UIslider
upper bound of the third dimension

Output Ports
out_fld
Mesh_Struct+Node_Data
out_obj
output renderable object

Description

crop reduces the size of a structured field by extracting the data within a specified range of its dimensions. The process is analogous to "cropping" a photographic image. Typical uses are to eliminate uninteresting portions of the data and to increase processing speed by reducing the amount of data.

Input Ports
in_field
The input must contain a structured mesh object (Mesh_Struct, Mesh_Rect, or Mesh_Unif), and a Node_Data object. The mesh can be 1D, 2D, or 3D.
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
I min
I max
J min
J max
K min
K max
UIsliders. Used to set crop dimensions. I min, J min, and K min set the lower bound array index in their respective dimensions; I max, J max, and K max set the upper bound array index in their respective dimensions. All default to 0 (min) and the maximum dimension of the mesh (max), so that the default is no cropping. Their range is from 0 to the maximum dimension of the Mesh for I, J, and K. All three pairs of controls appear no matter what the dimensionality of the input Mesh. Use just the controls meaningful for the input data.
Output Ports
out_fld
The output field contains a new Mesh_Struct and a new Node_Data associated with the cropped region.
If the input was a Mesh_Rect or a Mesh_Unif, its points array (extents) are modified to retain the mesh's position in space.
For example, the following 1D field has a points array (extents) from 0 to 49.
1 2 3 4
01234567890123456789012345678901234567890123456789

You crop the field using an I min of 30 and an I max of 49. The output field has coordinate indices from 0 to 19 and a points array from 30 to 49.
3 4
..............................01234567890123456789
The output field also contains a new Node_Data that has the data within the cropped region.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Vizualization.Crop
examples/crop.v

File

v/modules.v

See also
Section 5.28, downsize  [page 5-72]
Section 5.21, cut  [page 5-53]
5.20 curl
Synopsis

compute the curl of a vector field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
select a component of the input field

Output Ports
out_fld
same Mesh + Node_Data
out_obj
output renderable object

Description

curl computes the curl of a vector field with any mesh type.

Input Ports
in_field
The input must be a field with any type of mesh and Node_Data. At least one of the Node_Data's components must be a three-element vector.
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
data component
UIradioBoxLabel. A radio box to pick which component of in_field to use to compute the curl. You must pick a three-element vector component. The default is the first (0th) component. If node data labels are present, they are displayed.
Output Ports
out_fld
The output field contains a new Node_Data that has a three-element float at each node representing the curl. Its mesh is a reference to the input mesh.
out_obj
This is a renderable version of the output field.
Algorithm

The algorithm used to compute the curl in structured meshes is a finite difference approximation based on a central difference scheme. For unstructured meshes, the function is based on the cell shape functions and their derivatives.

In both cases, where the input is the vector function:

The equation used to compute the curl is:

Example

Libraries.Examples.Vizualization.Curl
examples/curl.v

File

v/modules.v

See also

Related modules

Section 5.27, divergence  [page 5-70]
Section 5.46, gradient  [page 5-108]
Section 5.59, magnitude  [page 5-141]
5.21 cut
Synopsis

cut off a portion of a field on one side of cutting plane

Input Ports
in_field
Mesh [+ Node_Data] [+Cell_Data]
in_plane
cutting plane (2D uniform Mesh)
ui_parent
user interface parent object

Parameters
map components
UIoptionBoxLabel
maps selected node data components onto resulting mesh
map cell data
UIoptionBoxLabel
maps selected cell data components onto resulting mesh
Above
UItoggle
select side of the plane to cut off
plane distance
UIslider
moves cutting plane parallel to itself

Output Ports
out_fld
Mesh [+ Node_Data] [+Cell_Data]
out_ob
output renderable object

Description

cut lets you cut (divide) a field into two pieces, and output one of the pieces. You position an arbitrarily-oriented cutting plane within the field, and select which side of the cutting plane you wish to output. Output is generated every time the cutting plane moves.

Note: The cut module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input must be a field with any type of 2D or 3D mesh and any type. It may optionaly have node and/or cell data components
in_plane
The cutting plane. This is generated by the plane object found in Geometries.FPlane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
Section 6.16, FPlane  [page 6-29]
Section 6.23, Plane  [page 6-43]
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
map components
UIoptionBox. A selection to pick which components of in_field's node data (if prsent) to send to the output field. You can pick more than one or none. The default is the first (0th) component. If node data labels are present, they are displayed.
map cell data
UIoptionBox. A selection to pick which components of in_field's cell data (if present) to send to the output field. You can pick more than one or none. The default is the first (0th) component. If cell data labels are present, they are displayed.

Above
UItoggle. Picks which side of the slice plane to send to the output field. The default is on.
plane distance
UIslider. A float slider that moves the plane through the field perpendicular to the plane. Though the Plane Transformation panel has X, Y, and Z transformation controls, it is usually easier to use plane's controls to orient and size the plane, but use this plane distance control to move the plane. cut generates output whenever the slice plane moves. The default distance is 0.0 and the range is the extents of the field.
Output Ports
out_fld
The output field contains a new mesh object that is the subset of the original mesh. It has the same type as the input mesh. It may have node and/or cell data containing the selected components. Its extents are set to retain the position of the cut section of the field in space.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Vizualization.Cut
examples/cut.v

File

v/modules.v

See also

Related modules

Section 5.19, crop  [page 5-48]
Section 5.28, downsize  [page 5-72]
5.22 cut_plane
Synopsis

macro that includes cut and cutting plane

Input Ports
in_field
Mesh [+ Node_Data] [+Cell_Data]
ui_parent
user interface parent object

Output Ports
out_fld
Mesh
the mesh with part cut away
out_plane
Plane_Mesh
the cutting plane
out_obj_cut
DefaultObject
renderable output of the cut field
out_obj_plane
DefaultObject
renderable output of the plane

Description

cut_plane is a macro that includes the cut macro and an FPlane cutting plane object. It cuts away the part of a field above or below the arbitrarily-oriented cutting plane, revealing the internal structure.

Note: The cut_plane module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input field to cut. You can specify any 2D or 3D mesh with any primitive type of node data and/or cell data.
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
map components
int[]: UIoptionBoxLabel. Select which node data component(s) are to be mapped onto the resulting mesh
map cell data
int[]: UIoptionBoxLabel. Select which cell data component(s) are to mapped onto the resulting mesh.

Above
UItoggle. Selects whether the part of the mesh above (1) or below (0) the cutting plane is removed. Above is in the positive Z direction of the cutting plane.
plane distance
UIslider. The plane at which the field is cut can be offset from the plane described by the internal plane object, which is what is transformed by the Plane Transform Editor. The offset is in the direction of the Z axis of the cutting plane. Note that if you offset the cutting plane from the plane object, the plane object output still shows the position of the plane object, not the actual cutting plane.
Plane Transform Editor
UIbutton. This button brings up the plane transform editor panel, which you can use to transform the cutting plane to any arbitrary orientation.
Output Ports
out_fld
Mesh[+Node_Data] [+Cell_Data]. The mesh with the part above or below the cutting plane removed. It may have node and/or cell data from the part of the input field.
out_plane
Plane_Mesh. A mesh containing the cutting plane. This is simply a rectangle spanning the minimum and maximum of the first two dimensions of the field. It is transformed to lie at the correct spatial location.
out_obj_cut
Renderable object corresponding to out_fld.
out_obj_plane
Renderable object corresponding to out_plane.
Example

Not available.

File

v/modules.v

See also
Section 5.21, cut  [page 5-53]
Section 5.65, plane_crop  [page 5-152]
Section 5.90, slice  [page 5-222]
Section 5.91, slice_plane  [page 5-224]
Section 6.16, FPlane  [page 6-29]
5.23 cut_texture3D
Synopsis

show 3D uniform field as a texture-mapped sliced solid

Input Ports
in_field
Mesh_Unif + Space3 + Dim3 + Node_Data
in_plane
cutting plane (Mesh)
texture_map
colors, from colormap
ui_parent
user interface parent object

Parameters
map components
UIoptionBoxLabel
select a component of the input field
Above
UItoggle
select side of the plane to cut off
plane distance
UIslider
moves cutting plane parallel to itself

Output Ports
out_fld
Mesh + Node_Data
out_ob
output renderable object

Description

cut_texture3D shows a 3D uniform field as a solid, with one slice cut off to reveal the interior structure. The slice plane can be moved through the volume perpendicular to the X, Y, and Z axes. Output is generated every time the slice plane moves.

cut_texture3D differs from interp_texture3D in the following ways:

Texture mapping is much faster than the sampling techniques used by DVslice, particularly for large datasets. The point sampling done by the texture mapping technique is always done at the resolution of the data; thus, differences in data values within a small area are not obscured, as they can be with DVslice.

Input Ports
in_field
The input must be a field with a Mesh_Unif, Space3, Dim3, and Node_Data.
in_plane
The slicing plane. This is generated by the Plane object found in Geometries.Plane or Geometries.FPlane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
texture_map
A colormap to provide the texture map. From Libraries.Main.Fields.Data.colormap.
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
map components
UIoptionBoxLabel. An option box to pick which components of in_field to texture map. You can pick more than one. The components must be scalar. The default is the first (0th) component. If node data labels are present, they are displayed.
Above
UItoggle. Picks which side of the slice plane to send to the output field.
plane distance
UIslider. A float slider that moves the plane through the field perpendicular to the plane. Though the Plane Transformation panel has X, Y, and Z transformation controls, it is usually easier to use plane's controls to orient and size the plane, but use this plane distance control to move the plane. cut_texture_3D generates output whenever the slice plane moves. The default distance is 0.0 and the range is the extents of the field.
Output Ports
out_fld
The output field contains a new mesh object that is the subset of the original mesh. It has the same type as the input mesh. It has a new Node_Data containing the texture mapping u, v, w values. Its points array (extents) is set to retain the position of the volume of the field in space.
out_obj
This is a renderable version of the output field.
Algorithm

cut_texture3D creates its picture of the volume data using 3D texture mapping. In this method, the boundary of the volume has three values, u, v, w, associated with each of its vertices. Where the slice planes intersect this volume, u, v, w values are computed for the vertices of the resulting solid. These values are attached to the vertices of the output object. Viewers use the u, v, w information to create the texture-mapped rendering.

Example

Libraries.Examples.Vizualization.Cut_Texture
examples/cut_txt.v

File

v/modules.v

See also

Related modules

Section 5.92, slice_texture2D  [page 5-226]
Section 5.93, slice_texture3D  [page 5-228]
Section 5.30, excavate_brick3D  [page 5-78]
Section 5.50, interp_texture3D  [page 5-116]
5.24 cylinder_plot_unif
Synopsis

produce a set of cylindrical glyphs that allow you to visualize two dimensional table data

Input Ports
in_field
Mesh_Unif+Dim2 + Node_Data
in_locations
Grid mesh used to position the cylinders
ui_parent
user interface parent object

Parameters
Data Component
UIradioBoxLabel
select data component to visualize
vertical segmentation
UItoggle
selects angular/vertical segmentation of the cylinders
scale height by total
UItoggle
scales height of the cylinders by column total
scale radius by total
UItoggle
scales radius of the cylinders by column total
color sides by total
UItoggle
colors the sides of the cylinders by column total
radius
UIfield
scale factor for cylinders radius
height scale
UIfield
scale factor for cylinders height
nsegments
UIslider
number of segment subdivisions for the cylinders
start angle
UIslider
beginning angle of first cylinder's segment
Normalize
UItoggle
normalizes glyph size
red
UIslider
default red value for cylinder sides
green
UIslider
default green value for cylinder sides
blue
UIslider
default blue value for cylinder sides

Output Ports
out_fld
Mesh + Cell_Data
out_obj
output renderable object

Description

cylinder_plot_unif allows you to visualize two dimensional node data that can be thought of as a table having some number of columns and rows. Each column in the table is represented with a cylinder glyph. A cylinder is divided in either vertical or angular direction into a number of segments equal to the number of rows in the column. Each segment is scaled (in either vertical or angular direction) proportionally to the data value of the row. The height or radius of each cylinder can optionally be scaled by the total value of the column (sum of all rows). The sides of the cylinder can optionally be colored by the total column value.The resultant image looks like a 3D pie chart.

Input Ports
in_field
The input must contain a 2-dimensional uniform mesh (Mesh_Unif+Dim2) plus Node_Data.
in_locations
This port is optional. It is a grid describing the location of the cylinders. If nothing is connected to this port, the module will use coordinates of in_field to position the cylinders. This port is useful, for example, to position a cylindrical glyph at certain locations on a map.
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
Data Component
UIradioBoxLabel. Radio buttons to pick which input Node_Data component to use to create cylinders. The default is the first (0th) component.
vertical segmentation
UItoggle. Indicates whether to use angular of vertical segmentation for each cylinder. The default is off (angular segmentation).
scale height by total
UItoggle. Indicates whether a height for each cylinder (representing a column of an input table data) is scaled by the total value of the column (sum of all rows).
scale radius by total
UItoggle. Indicates whether a radius for each cylinder (representing a column of an input table data) is scaled by the total value of the column (sum of all rows).
color sides by total
UItoggle. Indicates whether the sides of each cylinder (representing a column of an input table data) are colored by the total value of the column (sum of all rows).
radius
UIfield. Represents a default radius value for all cylinders. If "scale radius by total" is set to on, this value is used as the scale for radii of the cylinders.
height
UIfield. Represents a scale value for heights for the cylinders. If "scale height by total" is set to off, this value is used as the height for all the cylinders.
nsegments
UIslider. An integer value that represents the total number of sub-divisions for each cylinder. This number is used to control the graphical accuracy of the cylinders shape - the higher the value, the more accurate the cylinder is drawn (with a corresponding increase in drawing time). If this value is set to 4 you will get rectangular (4-sided) blocks instead of a cylinder. The default is 36.
start angle
UIslider. Controls the start angle for the first segment in a case when vertical segmentation is off (angular segmentation is specified). Changing this angle is equivalent to rotating all cylinders around their vertical axis. The default is 0.
Default side color (red, green, blue)
UIsliders. Float sliders to adjust the color of the cylinder side. These colors are used only when "color sides by total" is off. The defaults are 1.0.
Output Ports
out_fld
The output field contains cylindrical glyphs.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Cylinder_Plot_Unif
examples/cyl_plot_unif.v

File

v/modules.v

See also

Related modules:

Section 5.5, cell_centers  [page 5-19]
Section 5.41, extrude_cells  [page 5-98]
Section 5.89, shrink_cells  [page 5-220]
5.25 data_math
Synopsis

perform mathematical operations on fields using V expressions

Input Ports
in_field1
Mesh + Node_Data
in_field2
Mesh + Node_Data
in_field3
Mesh + Node_Data
in_field4
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
Operation
UItext
expression to evaluate
data type
UIradioBoxLabel
data type for computation & output

Output Ports
out_fld
same Mesh + Node_Data
out_obj
output renderable object

Description

data_math performs mathematical operations on one to four input fields. You type in any valid V expression, and use the OutDataType selection box to pick the data type for the result.

Input Ports
in_fieldn
The input field(s) must be a field with any type of mesh and Node_Data. You can use from 1 to 4 inputs. When typing the expression, you refer to them as #1, #2, #3, and #4.
data_math uses the first (0th) component of each field. Operations between two fields require that their components be the same length (nnodes must be equal) and both components have the same veclen.
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
Operation
UItext. Any valid V mathematical expression. Do not enclose in quotes or terminate with a semi-colon (that is, ";"). The following expression calculates the vector magnitude of the 0th component of input fields 1, 2, and 3 (treating the combination of those three fields as a vector):
sqrt(pow(#1,2) + pow(#2,2) + pow(#3,2))
data type
UIradioBoxLabel. Radio buttons to set the data type in which the computation will be performed. Each input's 0th component Node_Data is first converted to that type, the computation is performed in that type, and the output Node_Data is in that type. The choices are char, byte, short, int, float, and double. The default is float.
Output
out_fld
The output field contains a new Node_Data that has the result of the computation. Its mesh is a reference to the input mesh of in_field1.
out_obj
This is a renderable version of the output field.
Example

Not available.

File

v/modules.v

See also

For more information on expressions, see the section on value expressions in the Developer's Reference manual.

5.26 display_vol_ROI
Synopsis

display a slice from a volume and display a mesh from an array of meshes

Input Ports
FieldIn
Mesh_Unif+Node_Data+Dim3
MeshIn
MeshArray

Parameters
Start
UItoggle
start index in output array of meshes
Stop
UItoggle
stop index in output array of meshes
Run
UItoggle
copy the input mesh to the output array

Output Ports
obj
DefaultObject

Description

display_vol_ROI displays a single slice from a volume and the associated ROI from an array of meshes. The proper slice and ROI are selected by using the slice input parameter.

Input Ports
FieldIn
The input field must be uniform, 3D, and have node data. A slice is taken from this field and displayed as an image.
MeshIn
The input array of meshes. A slice is taken from the array and displayed.
Parameters
slice
UIslider. The index into both the input field and array of meshes used to extract the data for display.
Output Ports
obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Display_Vol_ROI

File

v/modules.v

See also

Related modules

Section 5.18, copy_ROI  [page 5-46]
Section 5.107, tile_ROIs  [page 5-268]
Section 5.109, tile_volume_ROIs  [page 5-272]
5.27 divergence
Synopsis

compute the divergence of a vector field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
select a component of the input field

Output Ports
out_fld
same Mesh + Node_Data
out_obj
output renderable object

Description

divergence computes the divergence of a vector field with any mesh type.

Input Ports
in_field
The input must be a field with any type of mesh and Node_Data. At least one of the Node_Data's components must be a three-element vector.
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
data component
UIradioBoxLabel. A set of radio buttons to pick which component of in_field to use to compute the divergence. You must pick a three-element vector component. The default is the first (0th) component. If node data labels are present, they are displayed.
Output Ports
out_fld
The output field contains a new Node_Data that has a scalar float value at each node representing the divergence. Its mesh is a reference to the input mesh.
out_obj
This is a renderable version of the output field.
Algorithm

The algorithm that computes the divergence in structured meshes is a finite difference approximation based on a central difference scheme. For unstructured meshes, the function is based on the cell shape functions and their derivatives.

In both cases, where the vector node data component is:

The equation used to compute the divergence is:

Example

Libraries.Examples.Vizualization.Div
examples/div.v

File

v/modules.v

See also

Related modules

Section 5.20, curl  [page 5-51]
Section 5.46, gradient  [page 5-108]
Section 5.59, magnitude  [page 5-141]
5.28 downsize
Synopsis

resample a field to reduce (or increase) its size

Input Ports
in_field
any Mesh_Struct + Node_Data
ui_parent
user interface parent object

Parameters
Integer Sliders
UItoggle
constrain factors to be integers
I downsize factor
UIslider
skip number of indices in I dimension
J downsize factor
UIslider
skip number of indices in J dimension
K downsize factor
UIslider
skip number of indices in K dimension

Output Ports
out_fld
same Mesh_Struct + Node_Data
out_obj
output renderable object

Description

downsize resamples a field using a scaling factor. When the factor is greater than 1, downsize reduces the size of the field, saving processing time and memory by "thinning out" the data. When the factor is less than 1, downsize increases the size of the field by duplicating data.

Algorithm

The following steps describe how downsize works. For each dimension i (X, Y, and Z),

1. dims_out[i] = dims_in[i] / factor[i]
2. Round dims_out to the nearest whole integer.

Note that the two endpoints are always preserved in the output data and the extents of the input field are preserved in the output field.
3. Calculate the ratio of the intervals between nodes dims_in: dims_out and calculate new array indices.
4. For each new array index, find the nearest whole integer by rounding up or down.
5. Use the node data and coordinates in the input field that are found by these index values as the node data and coordinates for the output field.

Note that throughout the process, the actual node data values and coordinate values are irrelevant. All that is manipulated are the indices into these arrays.

For example, given a factor of 1.2 and the following 1D input field:

1. dims_out[1] = dims_in[1] / factor
= 5 / 1.2
= 4.1666
2. After rounding dims_out to the nearest whole integer, dims_out[1] = 4.
3. The number of intervals in dims_in is 4 and the number of intervals in dims_out is 3, so the ratio of the intervals between nodes dims_in: dims_out is 4 /3 or 1.333. Therefore, the four indices for dims_out are 0, 1.333, 2.666, and 3.999.
4. For each new array index, the nearest whole integer is 0, 1, 3, and 4.
5. The result of using the coordinates and node data in the input field at these index values as the coordinates and node data for the output field is:


Input Ports
in_field
The input must contain a structured mesh object (Mesh_Struct, Mesh_Rect, or Mesh_Unif), and a single Node_Data object. The mesh can be 1D, 2D, or 3D.
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
Integer Sliders
UItoggle. When on, the downsize factor sliders are constrained to integers rather than floats. The default is on.
I downsize factor
J downsize factor
K downsize factor
Float UIsliders to specify the scaling coefficient. The output field's values (and coordinates for irregular data) are:
dims_out[i] = dims_in[i] / factor [i]
where i cycles through the dims of the field, either 1D, 2D, or 3D.
Note: factors < 1 make the output field larger. For example, a factor of .5 doubles the size of the output field.
You control the factor for each dimension separately. The default for all factors is 8. The range for all factors is 0.0 to 12.0.
All three controls appear no matter what the dimensionality of the input data. You only use the controls that are meaningful for the input data.
Output Ports
out_fld
The output field contains a new structured mesh of the same type as the input mesh, and a new Node_Data object containing the data associated with the downsized region.
The output mesh's points array (extents) will occupy the same "space" as the input field's Mesh.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Vizualization.Downsize
examples/down.v
Libraries.Examples.Visualization.Mirror_Scale
examples/mirr_scl.v

File

v/modules.v

See also

Related modules

Section 5.19, crop  [page 5-48]
Section 5.21, cut  [page 5-53]
5.29 draw_line
Synopsis

interactively draw lines on an object in a viewer

Input Ports
in_pick
picked_xyz point (from a viewer's corresponding output)
ui_parent
user interface parent object

Parameters
Pick Point
UItoggle
user is drawing line end points
New Line
UItoggle
user wants to start a new series of lines

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

draw_line lets the user interactively draw polylines over an object in a viewer window.

Input Ports
in_pick
The coordinates of the picked point. This red input port should connect to a renderer's picked_obj red output port.
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
Pick Point
UItoggle. When on, the user is using the left mouse button to select a series of points on the object. Lines are drawn between each point. The default is on.
New Line
UItoggle. When on, the user wants to select a new "first" point and begin drawing a new series of lines. When off, the user is in the middle of drawing a series of lines and any left mouse button click is a line endpoint. The default is off.
Output Ports
out_fld
The output is an unstructured mesh of cell type Polyline. Each cell is one line segment in the drawing.
out_obj
This is a renderable version of the output field.
Example

Not available.

File

v/modules.v

See also

Not applicable.

5.30 excavate_brick3D
Synopsis

perform 3D texture mapping on a 3D uniform field

Input Ports
in_field
Mesh_Unif + Dim3 + Node_Data + Byte + Scalar
texture_map
colors, from colormap
ui_parent
user interface parent object

Parameters
X, Y, Z
UIslider
set the X, Y, and Z position of the slice planes
Flip X
UItoggle
set cube to positive or negative X
Flip Y
UItoggle
set cube to positive or negative Y
Flip Z
UItoggle
set cube to positive or negative Z
Draw Sides
UItoggle
show volume's sides

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

excavate_brick3d is a technique for visualizing 3D uniform volume data. The volume is displayed with an X, Y, and Z slice plane. The slice removes a rectangular subvolume of the field, revealing the structures inside.

Texture mapping is much faster than the sampling techniques used by slice, particularly for large datasets. Texture mapping's point sampling is done at the resolution of the data; thus, differences in data values within a small area are not obscured as they can be with slice.

Note: The excavate_brick3D module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input is a reference to a Mesh_Unif, Dim3 field with scalar byte Node_Data.
texture_map
A colormap to provide the texture map. From Libraries.Main.Fields.Data.colormap.
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
X
Y
Z
UIsliders that set the X, Y, Z position of their respective slice planes. The default is the mid-point of the input field's dimensions. The range is the field's dimensions.
Flip X
Flip Y
Flip Z
UItoggles. These select whether the excavating cube should be positioned on the positive or negative axis for each of the X, Y, and Z dimensions. When on, the cube is positioned on the negative axis. The default is off.
Draw Sides
UItoggle. When off, only the excavating cube is drawn. When on, a texture map of the bounding faces of the volume is also drawn. The default is off.
Output Ports
out_fld
The output is a new Mesh and Node_Data. u, v, w textures are added.
out_obj
This is a renderable version of the output field.
Algorithm

excavate_brick3D creates its picture of the volume data using 3D texture mapping. In this method, the boundary of the volume has three values, u, v, w, associated with each of its vertices. Where the slice planes intersect this volume, u, v, w values are computed for the vertices of the resulting solid. These values are attached to the vertices of the output object. Viewers use the u, v, w information to create the texture-mapped rendering.

Example

Libraries.Examples.Vizualization.Excavate_Brick: examples/excvt.v

File

v/modules.v

See also

Related modules

Section 5.23, cut_texture3D  [page 5-59]
Section 5.92, slice_texture2D  [page 5-226]
Section 5.93, slice_texture3D  [page 5-228]
Section 5.50, interp_texture3D  [page 5-116]
5.31 explode_fields
Synopsis

explode individual transformations of each field in the input array of fields

Input Ports
in_fields
Mesh[]
ui_parent
user interface parent object

Output Ports
out_fld
Mesh[]
out_obj
DefaultObject

Description

explode_fields takes each input field in the input array and translates it away from the common center of all the fields, which is computed by finding the midpoint of the bounding box. You can set the amount of translation via parameters. The grid and data for the input fields are not modified, only their transformation matrices.

Input Ports
in_fields
Mesh[]. An array of fields to transform.
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
x-scale
UIslider. A value specifying how much to scale the translation away from the center in the X direction. This value is in units of the bounding box of the original array of fields.
y-scale
UIslider. A value specifying how much to scale the translation away from the center in the Y direction. This value is in units of the bounding box of the original array of fields.
z-scale
UIslider. A value specifying how much to scale the translation away from the center in the Z direction. This value is in units of the bounding box of the original array of fields.
Output Ports
out_fld
Mesh[]. The transformed input fields.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Explode_Fields
examples/explode.v

File

v/modules.v

See also

Related modules

Section 5.32, explode_materials  [page 5-83]
5.32 explode_materials
Synopsis

create an array of fields from a single field based on material properties of cell sets

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Output Ports
out_fld
Mesh[]
out_obj
GroupObject

Description

Each cell set in a field has an associated properties array. You may use this array to store anything related to the cell set, but it is commonly used to store material properties of the cells in the cell set.

explode_materials splits up the field into an array of fields based on the values of a particular element of the properties array. The same array index is used to look up the value in the properties array of each cell set. Each cell set with a distinct value of that property goes into a separate output field. Whether the values are equal is all that is significant, the actual values are not significant.

Note that this macro compares floating point numbers for equality; you are responsible for ensuring that the values in the material property array are bit-for-bit equal or not equal, as desired.

Input Ports
in_field
Mesh. This mesh is split apart into multiple meshes on the output, according to the selected property value of each cell set.
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
material index
UIslider. Selects which element of each cell set's material properties array to use to split the input. All cell sets' arrays use the same index.
Output Ports
out_fld
Mesh[]. An array of meshes, with other data merged from the input field.
out_obj
GroupObject. Group of renderable objects corresponding to out_fld.
Example

Libraries.Examples.Visualization.Explode_Field
examples/explode.v

File

v/modules.v

See also

Related modules

Section 5.31, explode_fields  [page 5-81]
5.33 external_edges
Synopsis

extract external edges of a field to reveal inside objects

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
max edge angle
UIslider
maximum angle between faces

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

external_edges produces a wireframe representation of the outside of an unstructured mesh. You use it when you want to see objects produced by other modules that are inside an unstructured mesh (isosurfaces, streamlines, probes, and so on) while still being able to see the enclosing skeletal shape of the mesh.

Input Ports
in_field
The input need only contain a mesh of any sort. Unstructured meshes pay attention to the max edge angle UIslider using DVext_edge to produce their picture. Structured meshes (Mesh_Struct, Mesh_Rect, and so on) cause DVbounds to be used, generating a simple hull of the mesh.
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
max edge angle
UIslider. A float slider that controls the accuracy of the boundary representation on the base of the angle between two adjoining faces in unstructured meshes. All edges that have an angle less than this value are represented in the output field. The range is 0.0 to 180.0. The angle used is calculated as edge_angle*3.14/180.0. The default is 5.0.
This parameter is ignored in structured meshes.
Output Ports
out_fld
The output is a field containing a new unstructured Mesh of cell type Line representing the input mesh's exterior. If Node_Data was present in the input field, this output field also contains a reference to that Node_Data.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Advect
examples/advect.v
Libraries.Examples.Visualization.Cut
examples/cut.v
Libraries.Examples.Visualization.Isosurface
examples/isos.v
Libraries.Examples.Visualization.Probe
examples/probe.v
Libraries.Examples.Visualization.Stream
examples/stream.v
Libraries.Examples.Visualization.Glyph_Interp
examples/glh_intp.v

File

v/modules.v

See also

Related modules

Section 5.34, external_faces  [page 5-87]
Section 5.4, bounds  [page 5-16]

5.34 external_faces
Synopsis

extract external faces of a field for faster rendering

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

external_faces produces a mesh that represents just the exterior, visible faces of an unstructured mesh. It saves memory and greatly speeds rendering because all of the unstructured mesh's many interior, hidden nodes and cells are not represented.

Note: The external_faces module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input need only contain a mesh of any sort. Unstructured meshes pay attention to the max edge angle UIslider using DVext_edge to produce their picture. Structured meshes (Mesh_Struct, Mesh_Rect, and so on) cause DVbounds to be used, generating a simple hull of the mesh.
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.)
Output Ports
out_fld
The output is a field containing a new unstructured Mesh of cell types Quad and Tri representing the input mesh's exterior. If Node_Data was present in the input field, this output field also contains a reference to that Node_Data.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Cut
examples/cut.v
Libraries.Examples.Visualization.Isoline
examples/isol.v
Libraries.Examples.Visualization.Isovolume
examples/isov.v
Libraries.Examples.Visualization.Offset
examples/offset.v

File

v/modules.v

See also

Related modules

Section 5.33, external_edges  [page 5-85]
Section 5.4, bounds  [page 5-16]
5.35 extract_cell_component
Synopsis

extract one cell_data component from each Cell_Data cell_set

Input Ports
in_field
Mesh+Cell_Data
ui_parent
user interface parent object

Parameters
Cell Data
UIradioBoxLabel
select cell data component

Output Ports
out_fld
Mesh+Cell_Data
out_obj
output renderable object

Description

extract_cell_component extracts one cell_data component from each Cell_Data cell_set. If there are multiple Cell_Data cell_sets, the same component is extracted from each cell_set. extrract_cell_component is the cell data equivalent of extract_component for node data.

Since the renderer draws just the first component it finds in each cell_set, you use extract_cell_component to obtain the right component from a multi-component Cell_Data field.

Input Ports
in_field
The input is a field with a Mesh and Cell_Data.
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
Cell Data
UIradioBoxLabel. A series of radio buttons to pick which single component to extract. If there are multiple Cell_Data cell_sets, the same component is extracted from each cell_set. If labels are present, they are displayed.
Output
out_fld
The output is a reference to a merged object that contains the new Cell_Data, plus references to all other unchanged objects in the input Mesh.
out_obj
This is a renderable version of the output field.
Files

v/modules.v

Example

Libraries.Examples.Visualization.Cell_Data
examples/celld.v

See also

Related modules

Section 5.7, cell_to_node  [page 5-23]
Section 5.83, select_cells  [page 5-208]

5.36 extract_component
Synopsis

extract a single data component from a field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
select data component

Output Ports
out_fld
Mesh + Node Data
out_obj
output renderable object

Description

extract_component extracts a single data component from any Node_Data. For example, selecting the fourth component of the field (a, b, c, [e, f, g]) results in the single-component vector field ([e, f, g]).

Input Ports
in_field
The input field must contain any mesh and Node_Data objects.
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
data component
UIradioBoxLabel. Radio buttons to pick which data component to send to the output field. The default is the first (0th) selection. If node data labels are present, they are displayed.
Output Ports
out_field
The output contains a reference to the original mesh, with new Node_Data consisting of a reference to the single extracted component in the input Node_Data. Effectively, you have "extracted" a reference to one component of the input Node_Data.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Applications.IsoApp

File

v/modules.v

See also

Related modules

Section 5.10, combine_comp  [page 5-30]
Section 5.15, combine_vect  [page 5-39]
Section 5.40, extract_scalar  [page 5-96]
5.37 extract_coordinate_array
Synopsis

extract selected coordinate components from mesh, after transforming

Input Ports
in
Mesh
parent
user interface parent object

Output Port
coord
prim[nnodes * (1, 2 or 3)]

Description

extract_coordinate_array extracts a 1D array containing the X, Y and/or Z components of the mesh's coordinates after being transformed by the mesh's transformation matrix. If X and Y are selected, it outputs X0, Y0, X1, Y1, and so on. Note that the output coordinates are not the same as the coordinates of the mesh itself; they are transformed, so they are in "world coordinates", as you would see them in the viewer.

Input Ports
in
Mesh. The input mesh.
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
Select Coordinates
UIoptionBoxLabel (X, Y, Z). Selects which coordinate components to extract.
Output Port
coord
prim[]. An array containing the extracted components.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.38, extract_data_array  [page 5-94]
5.38 extract_data_array
Synopsis

extract selected component as an array from selected node data component

Input Ports
in
Node_Data
parent
user interface parent object

Output Ports
data
prim[]
label
string

Description

extract_data_array extracts a 1D array containing the selected component of the node data.

Input Ports
in
Node_Data. The input Node_Data object from which to extract the component array.
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
Select Data Component
UIoptionBoxLabel. Selects which data component to extract.
Output Ports
coord
prim[]. An array containing the extracted component.
label
string. The label of the selected component.
Example

Not available.

File

v/fld_map.v

See also
Section 5.37, extract_coordinate_array  [page 5-93]
5.39 extract_mesh
Synopsis

create a mesh without any data

Input Port
in_field
Mesh+Node_Data

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

extract_mesh outputs the same mesh as the input, but with no node data (nnode_data=0).

Input Port
in_field
Mesh+Node_Data. The output mesh is copied from this input.
Parameters

none

Output Ports
out_fld
Mesh. Contains only the mesh part of the input field.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Not applicable.

5.40 extract_scalar
Synopsis

extract a scalar data element from a field's vector component

Input Ports
in_field
Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
component to extract
vector component
UIslider
sub-component of the vector

Output Ports
out_fld
Node_Data
out_obj
output renderable object

Description

extract_scalar extracts a single scalar data element from a vector component of a field with Node_Data. For example, selecting the second vector element of the fourth component of the field (a, b, c, [e, f, g]) returns the field (f).

Input Ports
in_field
The input field need only contain Node_Data. One of its components should be a vector. If a mesh is present, it is passed through unchanged as a reference in the output field.
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
data component
UIradioBoxLabel. Radio buttons to pick which of the components to display in the vector component selection below. The default is the first (0th) selection. If node data labels are present, they are displayed.
vector component
A selection to pick which vector element of a component to extract.
Output Ports
out_fld
The output is a field with a new Node_Data consisting of the extracted vector element. If a mesh was present in the input field, it is included in the output field as a reference to the original mesh.
out_obj
If a mesh was present, this is a renderable version of the output field. Otherwise, rendering objects generate an error.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.10, combine_comp  [page 5-30]
Section 5.15, combine_vect  [page 5-39]
Section 5.36, extract_component  [page 5-91]

5.41 extrude_cells
Synopsis

produce a mesh with cells extruded in the Z direction based on their cell data values and optionally shrunk relative to their geometric centers

Input Ports
in_field
Mesh + Cell_Data
ui_parent
user interface parent object

Parameters
height data
UIradioBoxLabel
select data component for height
height scale
UIslider
scale factor for height
shrink cells
UItoggle
extrude shrunk cells
scalefactor
UIslider
scale factor for shrinking
draw skirts
UItoggle
draws sides of extruded cells
color skirts
UItoggle
colors sides of extruded cells

Output Ports
out_fld
Mesh + Cell_Data
out_obj
output renderable object

Description

extrude_cells creates a new mesh, each cell of which is extruded in Z direction based on the selected height data (cell data) component. Optionally, cells can be shrunk relative to their geometric center (which is a point computed by averaging coordinates for all nodes in a cell). The height of extrusion is controlled by the height scale parameter. Shrink option and shrink scale is controlled by the shrink cells and shrink factor parameters. The sides of an extruded cell can optionally be created and colored based on the draw skirts and color skirts parameters.

Input Ports
in_field
The input must contain any type of mesh plus Cell_Data.
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
height data
UIradioBoxLabel. Radio buttons to pick which input Cell_Data component to use as a height value for each cell. The default is the first (0th) component. If cell data labels are present, they are displayed.
height scale
UIslider. A float slider to adjust the height of extruded cells. The default is 1.0.
shrink
UItoggle. If on, the module computes new coordinates for the extruded cell's nodes based on the shrink factor value that specifies the scale relative to the geometric centers of each cell. The default is off.
scale_factor
UIslider. A float slider that adjusts the factor by which cells are scaled. The value of scale factor specifies scale relative to the geometric centers of each cell and can vary from 0 to 1, a value of 0 producing totally shrunken cells, and a value of 1 producing full size cells. The default is 0.8. The range is 0.0 to 1.0.
draw skirts
UItoggle. If on, the sides (skirts) of extruded cells are created. The default is on.
color skirts
UItoggle. If on, the sides (skirts) of extruded cells are colored. The default is
off.
Output Ports
out_fld
The output field contains a new mesh that is created by extruding and optionally shrinking cells in the input field. It also contains a Cell_Data that was present in the input field.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Extrude_Cells
examples/extrude.v

File

v/modules.v

See also

Related modules:

Section 5.5, cell_centers  [page 5-19]
Section 5.24, cylinder_plot_unif  [page 5-62]
Section 5.89, shrink_cells  [page 5-220]
5.42 fields_to_mblock
Synopsis

convert an array of fields to a Multi_Block object

Input Port
fields
(Mesh_Struct+Node_Data+Cell_Data_Struct)[]

Output Port
multi_block
Multi_Block

Description

fields_to_mblock takes an array of fields and converts it to a Multi_Block object by adding the ancillary information kept by the Multi_Block object.

Input Port
fields
Mesh_Struct+Node_Data+Cell_Data_Struct. The input array of fields.
Parameters

none

Output Port
multi_block
Multi_Block. The resulting multiblock dataset.
Example

Libraries.Examples.Visualization.Multi_Block
examples/mblock.v

File

v/modules.v

See also

Related modules

Section 5.60, mblock_to_fields  [page 5-143]
Section 5.120, *_ARR (multiblock modules)  [page 5-297]
5.43 filter_1d
Synopsis

filter 1D data by convolving with a specified filter kernel array

Input Ports
in_field
Mesh+Node_Data
kernels
float[]
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

filter_1D takes as its input an object that has a Node_Data subobject and performs filtering (convolution) of data values based on an array of kernels. The kernels array can be a float array of any size. The module internally normalizes the kernels array so that the sum of its elements always equals one.

filter_1d outputs the input mesh with new node data containing the convolved values.

The first output value comes from overlaying the middle element of the kernel with the first data value and performing the sum of products, and so on.

Input Ports
in_field
Mesh+Node_Data. The 1D field containing the data to filter.
kernels
float[]. Array of floats describing the filter kernel. This array is convolved with the in_field data to produce the output. Note that this array is automatically normalized so the sum of its values is 1.
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
data component
UIradioBoxLabel. Selects which component of the data to filter.
Output Ports
out_fld
Mesh+Node_Data. Contains the filtered data.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Not applicable.

5.44 geo_glyph
Synopsis

take an array of glyphs as input and output glyphs at nodes using node data as an index into the glyph array

Input Ports
in_field
Mesh+Node_Data
in_glyph
Mesh[]
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

geo_glyph takes an input field and an array of glyphs, and draws one glyph at each node location of the in_field. The glyph drawn is selected by using the data at that node as an index into the glyph array.

If normalize is off, floating point values are converted to integers by truncation. If normalize is on, the data range is mapped to the number of glyphs so that each glyph represents the same fraction of the data range.

If the data is out of the bounds of the glyph array, the minimum or maximum glyph is drawn, as appropriate.

The glyphs' colors are determined by the color parameters unless the glyphs themselves provide node data for coloring, and their size is scaled by the scale parameter. Their orientation is unchanged.

Input Ports
in_field
Mesh+Node_Data. The field on which the glyphs are plotted.
in_glyph
Mesh[]. The array glyphs to plot.
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
scale
UIslider. Scales glyph size (X, Y and Z).
red
UIslider. Sets color for glyphs.
green
UIslider. Sets color for glyphs.
blue
UIslider. Sets color for glyphs.
normalize glyph index
UItoggle. When on (1), the range of the data is matched to the number of glyphs so that each glyph represents an equal part of the range. When off (0), the data is used directly as an index into the glyph array.
Output Ports
out_fld
Mesh+Node_Data. Contains the output glyphs.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.geo_glyph
examples/g_glyph.v

File

v/modules.v

See also

Related modules

Section 5.45, glyph  [page 5-105]
5.45 glyph
Synopsis

produce a geometric object (glyphs) at nodal locations of an input field

Input Ports
in_field
Mesh + Node_Data
in_glyph
Grid mesh used as geometry of a glyph
ui_parent
user interface parent object

Parameters
glyph component
UIradioBoxLabel
select component to scale glyph
map component
UIradioBoxLabel
select component to color glyph
Mode
UIradioBoxLabel
how glyphs portray data values
Normalize
UItoggle
normalizes glyph size
scale
UIslider
scale factor for glyph

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

glyph places a geometrical object at each node of an input field so that node locations are easily identified. The glyph can be sized and colored according to the selected data component at each node. If the glyph is an arrow in a vector field, for example, it generates a hedgehog.

Input Ports
in_field
The input must contain any type of mesh plus Node_Data.
in_glyph
Grid. 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 Geometries such as Arrow1 (wireframe arrow), Arrow2 (solid arrow), or Cross3D (XYZ crosshairs) to generate the glyph.
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
glyph component
UIradioBoxLabel. Radio buttons to pick which input Node_Data component to use to scale and distort the glyph, as controlled by Mode. The default is the
first (0th) component. If node data labels are present, they are displayed.
map component
UIradioBoxLabel. Radio buttons to pick which input Node_Data component to use to color the glyph. If map component is equal to glyph component and the map component is a vector, the color represents the magnitude of the vector. If node data labels are present, they are displayed. The default is the first (0th) component.
Mode
UIradioBoxLabel. A radio box that establishes how glyphs are rendered to represent the data values. The choices are:
scalar
Scale the glyph set by glyph component by the magnitude of the vector at that position.
vector (default)
Scale the glyph set by glyph component by the magnitude of the vector at that position. Also rotate the glyph in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe would be rotated to reflect the vector values.
component
Scale the glyph set by glyph component in X, Y, (and Z) by the first, second, (and third) vector subcomponent values at that position. For example, a Cross3D in_probe's three lines would be individually scaled to match the vector values.
Normalize
UItoggle. If off, the sizes of the glyphs are proportional to the magnitude of the data component values at each node. If on, all glyphs are the same size. The default is off.
scale
UIslider. A float slider to adjust the sizes of the glyphs. The default is 1.0. The range is -10 to 10.
Output Ports
out_fld
The output field contains a new unstructured mesh (mesh type Mesh) that is the meshes of all the glyphs. It also contains a new Node_Data consisting of the magnitude of the selected component's data values if map component is a vector, or the value of the map component if the map component is a scalar.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Glyph_Interp
examples/glh_intp.v
Libraries.Examples.Visualization.Advect
examples/advect.v
Libraries.Examples.Visualization.Probe
examples/probe.v

File

v/modules.v

See also

Related geometries

See Chapter 4, Geometries

5.46 gradient
Synopsis

compute the vector gradient of a vector field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
select a component of the input field

Output Ports
out_fld
same Mesh + Node_Data
out_obj
output renderable object

Description

gradient computes the vector gradient of a field with any mesh type.

Input Ports
in_field
The input must be a field with any type of mesh and Node_Data. At least one of the Node_Data's components must be a scalar.
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
data component
UIradioBoxLabel. Radio buttons to pick which component of in_field to use to compute the gradient. You must pick a scalar component. The default is the first (0th) component. If node data labels are present, they are displayed.
Output Ports
out_fld
The output field contains a new Node_Data that has a three-element vector float value at each node representing the gradient. Its mesh is a reference to the input mesh.
out_obj
This is a renderable version of the output field.
Algorithm

The algorithm used to compute the gradient in structured meshes is a finite difference approximation based on a central difference scheme. For unstructured meshes, the function is based on the cell shape functions and their derivatives.

In both cases, the equation used to compute the gradient is:

Example

Libraries.Examples.Vizualization.Grad
examples/grad.v

File

v/modules.v

See also

Related modules

Section 5.20, curl  [page 5-51]
Section 5.27, divergence  [page 5-70]
Section 5.59, magnitude  [page 5-141]
5.47 interleave_2_arrays, interleave_3_arrays, interleave_4_arrays
Synopsis

interleave elements of several arrays into a 2D array

Input Ports
in1
prim[]
any primitive array
in2
prim[]
any primitive array
in3
prim[]
any primitive array
in4
prim[]
any primitive array

Output Port
out
prim[][N]
N is 2, 3 or 4

Description

These modules interleave elements from several arrays into a 2D output array. The input arrays may have any dimensionality, but they are treated as 1D, in memory order. All input arrays should have the same total size. The output array contains one element from each array in order, followed by the next element from each array, and so on.

For example, this can be used to create an XYZ coordinate array from separate X, Y, and Z arrays.

Input Ports
in1
prim[]. One of the input arrays.
in2
prim[]. One of the input arrays.
in3
prim[]. One of the input arrays.
in4
prim[]. One of the input arrays.
Parameters

none

Output Port
out
prim[][N]. The output array containing the interleaved data.
Example

Not available.

File

v/fld_map.v

See also

Related modules:

Section 5.16, concat_2_arrays, concat_3_arrays, concat_4_arrays  [page 5-41]
5.48 interp_cell_data
Synopsis

samples cell data of one field at the node locations of another "probe" field

Input Ports
in_field
Mesh+Cell_Data
in_probe
Mesh
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

interp_cell_data uses the node coordinates specified in the input mesh (in_probe) as a set of sample points for the in_field. For each sample point, it locates the cell containing that point in the in_field, and uses the (possibly vector) value of the given component in that cell as the node data in the output field.

If there is no cell in in_field containing a given sample point, a null data value is used.

Input Ports
in_field
Mesh+Cell_Data. This field is sampled at the locations determined by the nodes of in_probe.
in_probe
Mesh. The node coordinates of this field define the sample points for interpolating in_field.
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
cell_data
UIradioBoxLabel. Which data component to interpolate.
Output Ports
out_fld
Mesh+Node_Data. The sampled field data.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.49, interp_data  [page 5-114]
5.49 interp_data
Synopsis

use coordinates from a probe mesh as sample points to interpolate data in a field

Input Ports
in_field
Mesh + Node_Data
in_probe
Mesh
ui_parent
user interface parent object

Parameters
interpolate components
UIoptionBoxLabel
data components to interpolate

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

interp_data uses the coordinates specified in an input mesh (in_probe) as a set of sample points for a field. It takes each set of coordinates in the mesh (the sample points), locates these same coordinates in the input field, then calculates what the interpolated data value of the selected component would be at that exact location based on the values of the same component in the adjacent nodes.

Input
in_field
The input is any mesh type with Node_Data.
in_probe
Any mesh whose coordinates represent the sample points.
To create this sampling mesh you could, for example, use the plane object in Geometries.Plane, Geometries.FPlane, or the slice macro.
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
interpolate components
UIoptionBoxLabel. A set of option buttons to pick which data components of the input field to interpolate. The default is the first (0th) component. If node data labels are present, they are displayed.
Output
out_fld
The output is a field that is a reference to the merge of the input probe's in_probe mesh, and a new Node_Data object with values consisting of the interpolated component values.
out_obj
This is a renderable version of the output field.
Algorithm

Structured fields use trilinear interpolation. Unstructured fields use shape function interpolation.

Example

Libraries.Examples.Vizualization.Glyph_Interp
examples/glh_intp.v
Libraries.Examples.Applications.StreamApp
examples/stream_l.v

File

v/modules.v

See also

Related modules

Section 5.70, probe  [page 5-165]
Section 5.90, slice  [page 5-222]
Section 6.16, FPlane  [page 6-29]
Section 6.23, Plane  [page 6-43]

5.50 interp_texture3D
Synopsis

show an arbitrarily oriented and shaped texture mapped sample of a 3D uniform field

Input Ports
in_field
Mesh_Unif + Space3 + Dim3 + Node_Data
in_probe
sampling object (Mesh)
texture_map
colors, from colormap
ui_parent
user interface parent object

Output Ports
out_fld
Mesh + Node_Data
out_ob
output renderable object

Description

interp_texture3D creates a texture mapped picture of the surface of any mesh where it intersects a 3D uniform field. The sampling object can be moved through the volume in any direction. Output is generated every time the sampling object moves.

interp_texture3D differs from cut_texture3D in the following ways:

Texture mapping is much faster than the sampling techniques used by the slice modules, particularly for large datasets. The point sampling done by the texture mapping technique is always done at the resolution of the data; thus differences in data values within a small area are not obscured as they can be with slice.

Input Ports
in_field
The input must be a field with a Mesh_Unif, Space3, Dim3, and Node_Data.
in_probe
The sampling object. This is generated by one of the Geometry objects such as Plane or Box. The sampling object should come with its own Transformation panel that controls object rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
texture_map
A colormap to provide the texture map. From Libraries.Main.Fields.Data.colormap.
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.)
Output Ports
out_fld
The output field contains a new mesh object that is the texture mapped slice. It has the same type as the input mesh. It has a new Node_Data containing the texture mapping u, v, w values.
out_obj
This is a renderable version of the output field.
Algorithm

interp_texture3D creates its picture of the volume data using 3D texture mapping. In this method, the boundary of the volume has three values, u, v, w, associated with each of its vertices. Where the slice planes intersect this volume, u, v, w values are computed for the vertices of the resulting solid. These values are attached to the vertices of the output object. Viewers use the u, v, w information to create the texture-mapped rendering.

Example

Libraries.Examples.Vizualization.Interp_Texture3D
examples/intrptxt.v

File

v/modules.v

See also

Related modules

Section 5.92, slice_texture2D  [page 5-226]
Section 5.93, slice_texture3D  [page 5-228]
Section 5.30, excavate_brick3D  [page 5-78]
Section 5.23, cut_texture3D  [page 5-59]
5.51 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

Section 5.54, isosurface  [page 5-128]
Section 5.52, isoline  [page 5-122]
Section 5.53, isoline_trace  [page 5-125]
Section 5.55, isosurface_trace  [page 5-131]
Section 5.56, isovolume  [page 5-134]
Section 5.17, contour  [page 5-43]
5.52 isoline
Synopsis

create contour lines of constant value

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
iso component
UIradioBoxLabel
selects data component to use for isoline
ncontours
UIslider
number of isolines to be produced
level_min
UIslider
minimum isoline level
level_max
UIslider
maximum isoline level
Color
UItoggle
color isolines by value

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

isoline creates contour lines of a given level value or values in a field. The contour lines are colored by the level value. The selected component must be scalar. You use isoline when you want to see a graphic depiction of the locations of a particular data value in a field.

Input Ports
in_field
The input is any mesh with Node_Data. The mesh must be a surface (nspace = 2). The surface can exist in 2D or 3D. No checking is done to ensure that the mesh is 2D. 3D meshes do not generate output. At least one of the components must be scalar.
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. A set of radio buttons to pick which component to compute the isolines for. The selected component must be scalar or the message "isoline: 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 in the UIradioBox.
number of contours
UIslider. Number of isolines to produce. The lines are evenly spaced between the min and max levels. Default number is 10.
min level
UIslider. Float slider to set the minimum isoline level. The default is the selected component's min * 0.7 + max * 0.3. 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.
max level
UIslider. Float slider to set the maximum isoline level. The default is the selected component's min * 0.3 + max * 0.7. 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.
Color
UItoggle. When on, the isolines are colored by the data value. The default is on.
Output Ports
out_fld
The output field is a new unstructured Mesh of cell type Line that represents the contour lines. It has a new Node_Data whose value at each line is the level value of that line.
out_obj
This is a renderable version of the output field.
Algorithm

For each "cell" of the field, a straight line is created connecting locations on the cell's edges with an interpolated value equal to the iso level. The interpolation is linear.

Example

Libraries.Examples.Visualization.Isoline
examples/isol.v

File

v/modules.v

See also

Related modules

Section 5.54, isosurface  [page 5-128]
Section 5.51, iso_probe  [page 5-118]
Section 5.53, isoline_trace  [page 5-125]
Section 5.55, isosurface_trace  [page 5-131]
Section 5.56, isovolume  [page 5-134]
Section 5.17, contour  [page 5-43]
5.53 isoline_trace
Synopsis

create a local line of constant value at a picked probe location

Input Ports
in_field
Mesh_Struct + Node_Data
in_probe
Grid
ui_parent
user interface parent object

Parameters
iso component
UIradioBoxLabel
sets component to isoline
iso level
UIslider
report isoline level

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

isoline_trace is similar to isoline. It creates a line of a given level value in a 2-space field at a probe position. This probe position is picked interactively with the left mouse button or specified through a Transformation Editor. This line is, in effect, a 2D contour.

isoline_trace differs from isoline in that it does not isoline the entire volume of the field. Rather, beginning from the picked position, it builds an isoline by checking the values of adjacent cells until either no more adjacent cells have the same value, it hits the limits of the field, or the line is closed. Thus, isoline_trace creates local isolines.

The isoline is colored by the value of the selected iso component. That component is also written to the output Node_Data.

Input Ports
in_field
The input is any Mesh_Struct (Mesh_Struct, Mesh_Rect, or Mesh_Unif) with Node_Data. The mesh must be a surface (nspace = 2). The surface can exist in 2D or 3D. No checking is done to ensure that the mesh is 2D. 3D meshes do not generate output. At least one of the components must be scalar.
in_probe
Grid. This input is a Grid representing any kind of probe object. Such objects are found in Geometries, such as Arrow, or Cross3D. In turn, the probe macro icon's red input port must connect to the renderer's picked_obj red output port.
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.
iso level
UIslider. This widget is output only. A float slider that reports the value for which the isoline is being drawn.
Output Ports
out_fld
The output field is an unstructured Mesh of cell type Line that represents the 2D contour lines. Its Node_Data is the interpolated values of the iso component along the isolines.
out_obj
This is a renderable version of the output field.
Algorithm

isoline_trace 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

Not available.

File

v/modules.v

See also

Related modules

Section 5.54, isosurface  [page 5-128]
Section 5.52, isoline  [page 5-122]
Section 5.55, isosurface_trace  [page 5-131]
Section 5.51, iso_probe  [page 5-118]
Section 5.56, isovolume  [page 5-134]
Section 5.17, contour  [page 5-43]

5.54 isosurface
Synopsis

create a surface of constant value

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
iso component
UIradioBoxLabel
selects component to isosurface
map components
UIoptionBoxLabel
selects node data to output
map cell data
UIoptionBoxLabel
selects cell data to output
iso level
UIslider
set level of isosurface

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

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 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 node data component must be scalar.
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. 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.
map components
UIoptionBoxLabels. Option buttons to pick which components of node data to map onto output surface (for example, map pressure value onto a density isosurface). Multiple components or none can be slected. 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.
map components
UIoptionBoxLabels. Option buttons to pick which components of cell data to map onto output surface (for example, map pressure value onto a density isosurface). Multiple components or none can be slected. The selected component(s) can be scalars or vectors. e a scalar. The default is the first (0th) component. If cell data labels are present, they are displayed. The data values for each triangle of the output mesh are copied from original cells.
iso level
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 Ports
out_fld
The output field is an unstructured triangular mesh of that represents the contour surface. It may optionaly have node and/or cell data.
out_obj
This is a renderable version of the output field.
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

Libraries.Examples.Visualization.Isosurface
examples/isos.v
Libraries.Examples.Visualization.Crop
examples/crop.v
Libraries.Examples.Visualization.Downsize
examples/down.v
Libraries.Examples.Visualization.Probe
examples/probe.v
Libraries.Examples.Applications.IsoApp
examples/iso.v

File

v/modules.v

See also

Related modules

Section 5.53, isoline_trace  [page 5-125]
Section 5.52, isoline  [page 5-122]
Section 5.55, isosurface_trace  [page 5-131]
Section 5.51, iso_probe  [page 5-118]
Section 5.56, isovolume  [page 5-134]
Section 5.17, contour  [page 5-43]
5.55 isosurface_trace
Synopsis

create a local surface of constant value at a picked probe location

Input Ports
in_field
Mesh_Struct + Node_Data
probe
Grid
ui_parent
user interface parent object

Parameters
iso component
UIradioBoxLabel
selects data component to isosurface
map component
UIradioBoxLabel
data component to map onto isosurface
iso level
UIslider
report isosurface level OUTPUT ONLY

Output Ports
out_fld
Mesh_Struct + Node_Data isosurface
 
out_obj
obj
renderable isosurface object

Description

isosurface_trace is similar to isosurface. It creates a surface of a given level value in a field at a probe position. This probe position is picked interactively with the left mouse button or specified through a Transformation Editor. This surface is, in effect, a 3D contour.

isosurface_trace differs from isosurface in that it does not isosurface the entire volume of the field. Rather, beginning from the picked position, it builds an isosurface by checking the values of adjacent cells until either no more adjacent cells have the same value, it hits the limits of the field, or the surface is closed. Thus, isosurface_trace creates local isosurfaces.

The isosurface of one component is colored by the value of the selected map component (for example, the isosurface of density colored by temperature). That map component is also written to the output Node_Data.

Input Ports
in_field
The input is any Mesh_Struct (Mesh_Struct, Mesh_Rect, or Mesh_Unif) with Node_Data. At least one of the components must be scalar.
probe
Grid. This input is a Grid representing any kind of probe object. Such objects are found in Geometries, such as Arrow, or Cross3D. In turn, the probe macro icon's red input port must connect to the renderer's picked_obj red output port.
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.
iso level
UIslider. This widget is an output display only. It ignores input. A float slider that reports the value found at the picked location for which an isosurface has been drawn.
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 along the isosurface.
out_obj
This is a renderable version of the output field.
Algorithm

isosurface_trace 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

Libraries.Examples.Vizualization.Iso_Trace
examples/isotrc.v

File

v/modules.v

See also

Related modules

Section 5.54, isosurface  [page 5-128]
Section 5.52, isoline  [page 5-122]
Section 5.53, isoline_trace  [page 5-125]
Section 5.51, iso_probe  [page 5-118]
Section 5.56, isovolume  [page 5-134]
Section 5.17, contour  [page 5-43]
5.56 isovolume
Synopsis

create a volume of the data inside or outside an isosurface

Input Ports
in_field
3D Mesh + Node_Data
ui_parent
user interface parent object

Parameters
iso component
UIradioBoxLabel
component to isovolume
map components
UIoptionBoxLabe
node data to outpu
map cell data
UIoptionBoxLabel
cell data to output
Above
UItoggle
select side of the isosurface to cut off
iso level
UIslider
level of isovolume

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

isovolume cuts the input mesh using an isosurface of the selected component with a specified iso level value. It outputs the portion of the mesh that is on one side of the cutting isosurface, along with the data for one or more components. The dimensionality of the resulting mesh (1D, 2D or 2D) is the same as dimensionality of original mesh. For example, if you had an MRI scan of a cranium, represented as 3D volume field, you could set iso level to the value for bone, toggle Above, and produce a 3D field that was all the tissue inside the skull.

Note: The isovolume module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
The input is any mesh with Node_Data. At least one of the components must be scalar.
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. Radio buttons to pick which component to use to construct the 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 components
UIoptionBoxLabels. Option buttons to pick which components of node data to map onto output surface or volume (for example, map pressure value onto a density isovolume). Multiple components or none can be slected. 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.
map components
UIoptionBoxLabels. Option buttons to pick which components of cell data to map onto output surface or volume (for example, map pressure value onto a density isosurface). Multiple components or none can be slected. The selected component(s) can be scalars or vectors. e a scalar. The default is the first (0th) component. If cell data labels are present, they are displayed. The data values for each cell of the output mesh are copied from original cells.
Above
UItoggle that selects whether the extracted volume is inside or outside the isosurface. Above turned on means that output values are greater than the cut level. The default is on.
iso level
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 Ports
out_fld
The output field is a new mesh of the same dimensionality as the input that represents the new volume. Its new node and/or cell sata are the values of the selected map components. It does contain a reference to the input field's xform.
out_obj
This is a renderable version of the output field.
Algorithm

isovolume 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.

Example

Libraries.Examples.Visualization.Isovolume: examples/isov.v
Libraries.Examples.Visualization.IsoVolume_2D: examples/isov2uni.v
Libraries.Examples.Visualization.Volume_Integral: examples/vintgr.v

File

v/modules.v

See also

Related modules

Section 5.17, contour  [page 5-43]
Section 5.52, isoline  [page 5-122]
Section 5.53, isoline_trace  [page 5-125]
Section 5.51, iso_probe  [page 5-118]
Section 5.56, isovolume  [page 5-134]
Section 5.55, isosurface_trace  [page 5-131]
5.57 least_squares
Synopsis

fit a polynomial of specified order using the least squares method

Input Ports
in_field
Grid+Node_Data+Scalar (must be 1D)
ui_parent
user interface parent object

Output Ports
out_coeff
double[order+1]
out_fld
Grid+Node_Data
out_obj
output renderable object

Description

least_squares fits a polynomial of a given order to an input data set. The input consist of (x, y) pairs, where the X's are the 1D mesh coordinates of the nodes, and the Y's are the node_data values. These points are fit to a polynomial of the desired degree. Two outputs are produced; out_coeff is an array containing the n+1 coefficients of the resulting polynomial, and out_fld is the fit Y values computed by evaluating the polynomial at each X point.

Input Ports
in_field
Grid+Node_Data+Scalar. 1D field containing data to fit.
ui_parent
A port to connect to a user interface object that contains the module'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
data component
UIradioBoxLabel. Which component of the data to fit to the polynomial.
polynom order
UIslider. Order of the polynomial to fit to the data-1=linear, 2=quadratic, and so on.
Output Ports
out_coeff
double[order+1]. The coefficients of the resulting polynomial, in order from least significant (constant term) to most significant (highest power).
out_fld
Mesh+Node_Data. Node_Data values are the polynomial evaluated at the points on the mesh.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Not applicable.

5.58 Loop
Synopsis

periodically increment an output value

Input Ports
ui_parent
UIconnection
user interface parent object

Parameter Ports
run: Run Loop
int: UItoggle
start looping
reset: Reset Loop
int: UItoggle
reset to start value
cycle: Cycle Loop
int: UItoggle
cycle repeatedly
start: Start Value
float: UIfieldTypein
initial value
end: End Value
float: UIfieldTypein
max value
incr: Increment
float: UIfieldTypein
amount added each loop

Output Ports
count: Loop count
float: UIfieldTypein
current value
done
int
set to 1 when loop reaches end value

Description

Loop initializes its count output to its start value, and periodically increments it by incr. When the value reaches or exceeds the end value, the done flag is set unless cycle is nonzero, in which case the loop count is reset to the start value and another loop starts. If the increment is negative, the end test becomes whether the current count is less than or equal to the end value, so loops can go in either direction.

The value is updated whenever all other modules are done executing and the network reaches a quiescent state.

If cycle is 0, the final value is always exactly the end value, even if the increment plus the next-to-last value would have gone past the end value.

The loop can be interrupted at any time by setting run to 0.

Input Ports
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
Run Loop
UItoggle. When nonzero, the loop runs, incrementing as usual. When the loop reaches the end, the run parameter is automatically set to zero unless the cycle parameter is nonzero. If run is set to zero while the loop is running, it stops at the current value until run is set to one.
Reset Loop
UItoggle. When set to nonzero, the start value is loaded into the current count, but the loop does not stop running. It is automatically reset to 0after the reset is done.
Cycle Loop
UItoggle. When nonzero, the count is reset to the start when it reaches the end, and the loop continues endlessly as long as run is nonzero. When cycle is zero, the count stops at the end value.
Start Value
UIfieldTypein. The starting value for the loop. Reset causes this value to be stored into the loop count, and if cycle is nonzero it is reloaded each time the current value passes the end value.
End Value
UIfieldTypein. The ending value for the loop.
Increment
UIfieldTypein. The increment added to the value each time through the loop.
Output Ports
Loop count
UIfieldTypein. The current value for the loop.
Note that this value does not count the number of loops executed, unless start is 0.0 and incr is 1.0; it accumulates the current value of the loop.
done
Automatically set to 1 when the loop finishes. Never set to 1 if cycle is true.
Example

Not available.

File

v/modules.v

5.59 magnitude
Synopsis

calculate the magnitude of a vector field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
component to calculate magnitude

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

magnitude calculates the magnitude of a vector field.

Input
in_field
The input is any mesh with Node_Data.
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
data component
UIradioBoxLabel. Radio buttons to pick which component to use to calculate the magnitude. This component can contain one-, two-, or three-vector subcomponents. The default is the first (0th) component. If node data labels are present, they are displayed.
Output
out_fld
The output field is a reference to a new object that is the merge of the new Node_Data, plus a reference to the original input mesh. This new Node_Data is a scalar representing the magnitude.
out_obj
This is a renderable version of the output field.
Algorithm

The equation used to compute the magnitude is:

where a1, a2, and so on are the individual vector subcomponents within the selected component.

Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.20, curl  [page 5-51]
Section 5.46, gradient  [page 5-108]
Section 5.27, divergence  [page 5-70]
5.60 mblock_to_fields
Synopsis

convert a Multi_Block object to an array of fields

Input Port
multi_block
Multi_Block

Output Port
fields
(Mesh_Struct+Node_Data+Cell_Data_Struct)[]

Description

mblock_to_fields extracts the array of fields contained in the Multi_Block object.

Input Port
multi_block
Multi_Block. The input multiblock dataset.
Parameters

none

Output Port
fields
Mesh_Struct+Node_Data+Cell_Data_Struct. The array of fields extracted from multi_block.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.42, fields_to_mblock  [page 5-100]
Section 5.120, *_ARR (multiblock modules)  [page 5-297]
5.61 mirror
Synopsis

create the mirror image of an unstructured Mesh

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
mirror X axis
UItoggle
mirror the X axis
mirror Y axis
UItoggle
mirror the Y axis
mirror Z axis
UItoggle
mirror the Z axis

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

mirror generates a mesh that is the mirror image of the input mesh by reflecting the mesh about the X, Y, and/or Z plane. You can control each independently. Mirroring is useful for visualizing axisymmetric problems.

Input Ports
in_field
The input is any mesh. Any Node_Data that is present is ignored.
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
mirror X axis
mirror Y axis
mirror Z axis
UItoggles. When on, its respective axis is mirrored. The default for all is on.
Output Ports
out_fld
The output field is a reference to the input field, but with a new, modified xform transformation matrix object.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Mirror_Scale
examples/mirr_scl.v

File

v/modules.v

See also

Related modules

Section 5.84, scale  [page 5-210]
5.62 node_scalar, node_vector
Synopsis

Data mappers that create Node_Data objects given data array(s)

Input Port
in_data
any primitive
node data

Output Port
out
Node_Data

Description

The node_scalar and node_vector macros create Node_Data objects that can merge with a Mesh object to create a field. A Node_Data object represents the values of some dataset at the node points of a field, while the Mesh represents the locations of that field's nodes in space.

These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data, with the output of one of the mesh mapper macros to create a field.

Input Port
in_data
array of any primitive type. Contains the node data to use. For node_scalar, the array's length should be the number of nodes in the dataset. For node_vector, the array's length should be nnodes * veclen.
Parameters

none

Output Port
out
Node_Data. The node data object containing the given data array.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.67, point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh  [page 5-156]
Section 5.68, tri_mesh, quad_mesh, polytri_mesh  [page 5-159]
Section 5.69, tet_mesh, hex_mesh, pyramid_mesh, prism_mesh, polyhedron_mesh  [page 5-162]
Section 5.13, combine_node_datas  [page 5-36]
5.63 offset
Synopsis

deform a mesh by data vector at each node

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
selects which data vector to use for offset
scale
UIslider
scale used in offsetting

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

offset "physically" deforms a mesh by the values of a one-, two-, or three-vector component located at each node. The first element of the vector translate's the node's X coordinate, the second (if present) translates the Y coordinate, and the third (if present) translates the Z coordinate. The magnitude of each translation is proportional to the values at the nodes multiplied by a scaling factor.

Input Ports
in_field
The input is any mesh with Node_Data. Its components can be a one-, two-, or three-element vector.
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
data component
UIradioBoxLabel. Radio buttons to pick which component to use as the three-element vector that defines the offset. The default is the first (0th) component. If node data labels are present, they are displayed.
scale
UIslider. A float slider used to scale the degree of distortion caused by the vector component. The default is 1.0. The range is -10.0 to 10.0.
Output Ports
out_fld
The output is a new field containing as its mesh the original mesh distorted by the vector component times the scaling factor, and containing as its Node_Data a reference to the input Node_Data. A generic input Mesh creates a Mesh output. Mesh_Struct, Mesh_Unif, or Mesh_Rect input creates Mesh_Struct output.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Offset
examples/offset.v
Libraries.Examples.Visualization.Surf_plot
examples/surf_plt.v

File

v/modules.v

See also

Not applicable.

5.64 orthoslice
Synopsis

produce a slice of a structured field perpendicular to a coordinate axis

Input Ports
in_field
Mesh_Struct + Node_Data
ui_parent
user interface parent object

Parameters
axis
UIslider
specifies the constant dimension
plane
UIslider
specifies the slice index of the axis

Output Ports
out_fld
Mesh_Struct + Node_Data
out_obj
output renderable object

Description

orthoslice subsets a structured field by extracting one slice plane. The slice plane can only be orthogonal to the X, Y, or Z axis.

Input Ports
in_field
The input must contain a structured mesh (mesh type Mesh_Struct, Mesh_Unif, or Mesh_Rect) and Node_Data. The input can be 1D, 2D, or 3D.
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
axis
UIslider. An integer slider. Selects which axis (X = 0, Y = 1, Z = 2) the orthoslice is perpendicular to. The default is 0. If the field is 1D or 2D, three values are still displayed. Select the values meaningful for the input data.
plane
UIslider. An integer slider. Selects which plane to extract from the input. The default is dims[axis]/2. The range is 0 to max_dim.
Output Ports
out_fld
The output is a field with a new structured mesh of the same type as the input field. The mesh is the mesh of the slice. It contains the slice's Node_Data.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Orthoslice
examples/orth.v
Libraries.Examples.Visualization.Null_Data
examples/nulldt.v

File

v/modules.v

See also

Related modules

Section 5.19, crop  [page 5-48]
Section 5.21, cut  [page 5-53]
5.65 plane_crop
Synopsis

subset a volume using any number of 2D uniform grids as slicing planes

Input Ports
in_field
Mesh
in_plane
Plane_Grid
ui_parent
user interface parent object

Parameters
Inside
UItoggle
intersected cells in or out
And/Or
UItoggle
output cells outside or inside planes

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

plane_crop subsets a field by outputting all whole cells that are inside or outside a volume created by an unlimited number of slice planes.

Input Ports
in_field
The input is a field with any Mesh. Node_Data is optional.
in_plane
An array of Plane_Grids that will slice the volume. A Plane_Grid is defined as Grid_Unif+Space2+Dim2. It is, therefore, any 2D uniform grid.
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
Inside
UItoggle. When on, the entire cell intersected by a plane is output. If it is off, the entire cell is not output.
And/Or
UItoggle. When on, the cells inside the slicing planes are output. If it is off, the cells outside the slicing planes are output.
Output Ports
out_fld
The output is a new Mesh and Node_Data that is the plane-cropped input Mesh, plus any Node_Data for the output nodes. The mesh contains a reference to the input field's xform.
out_obj
This is a renderable version of the output field.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.19, crop  [page 5-48]
Section 5.21, cut  [page 5-53]
Section 5.105, thresh_null  [page 5-262]
5.66 Plot3d_Multi_Block
Synopsis

reads a multiblock Plot3D format data file

Input Port
parent
user interface parent object

Output Ports
mblock
Multi_Block
fields
(Mesh+Node_Data)[]

Description

Plot3d_Multi_Block reads a pair of files that describe a Plot3D dataset. It reads that data into an array of fields; each field describes one block of the dataset. The result can be operated on by any of the *_ARR array-of-fields macros.

The Multi_Block object contains the array of fields plus some additional information, including the number of blocks and the bounds of the dataset.

Input Port
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
Plot3d XYZ Filename
UIfileSB. Name of Plot3d xyz file.
Plot3d Q Filename
UIfileSB. Name of Plot3d q file.
Output Ports
mblock
Multi_Block object.
fields
Array of fields.
Example

Libraries.Examples.Visualization.Multi_Block: examples/mblock.v

File

v/modules.v

See also

Related modules

Section 5.120, *_ARR (multiblock modules)  [page 5-297]
Section 5.60, mblock_to_fields  [page 5-143]
5.67 point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh
Synopsis

mesh mappers that create meshes containing Point, Line or Polyline cells from coordinate and connectivity arrays

Input Ports
coord
float[nnodes][nspace]
coordinates of objects
connect
int[nnodes * cell_nnodes]
node connectivity list (not used for point_mesh)
coord1
float[nlines][nspace]
start coordinates of lines (line_disjoint_mesh only)
coord2
float[nlines][nspace]
end coordinates of lines (line_disjoint_mesh only)

Output Ports
out
Mesh
obj
output renderable object

Description

Each of these macros creates a mesh containing cells (geometric objects), given arrays containing the locations of the nodes in space and their connectivity. These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data, with the output of one of the data mapper macros to create a field.

point_mesh creates a mesh containing a cell set of type Point.

line_mesh creates a mesh containing a cell set of type Line.

line_disjoint_mesh creates disjoint lines in a cell set of type Line. It accepts two arrays, one with the start coordinates and one with the end coordinates for each line.

polyline_mesh creates a mesh containing a cell set of type Polyline. This cell set can contain multiple disconnected polylines.

Input Ports
coord
float[nnodes][nspace]. This array specifies the coordinates of the vertices of the cells. Their connectivity (for example, into lines or polylines) is specified in the connect array. For example, coord[4][2]={{0,0}, {1,0}, {1,1}, {0,1}} creates four vertices at the corners of the unit square in 2-space. In 3-space, you can add a Z coordinate value to each of the subarrays.
connect
int[nnodes * cell_nnodes]. For each cell, this array specifies which node in the coord array describes each vertex of that cell. The layout is by cells, with the nodes of each cell specified in the canonical cell order (see Section 2.9, Cell_Set  [page 2-42] for the cell orderings for all supported cell types).
For example, to specify the letter Z as three lines using the line_mesh macro using the example coords above, you can specify connect[6]={0,1,1,3,3,2}. The first line uses vertices 0 and 1, the second 1 and 3, and the third 3 and 2.
The polyline_mesh macro treats the connect array differently, since it generates multiple polylines. Elements of the connect array are taken in pairs; the first and second elements are start and end indices into the coordinates array, producing a set of coordinates for each polyline strip. Polylines are drawn as connected line segments from the first coordinate to the last coordinate. So, to draw a backward C-shaped polyline using the example coords, above, you can specify connect[2]={0,3}. This uses all four coordinates in a single polyline.
coord1, coord2
line_disjoint_mesh differs from the other *_mesh macros because it uses two coord arrays-coord1 and coord2, instead of coord and connect. Line segments are created between corresponding elements of the two arrays, which must have the same length.
Parameters

none

Output Ports
out
Mesh. Contains the mesh described by the input arrays.
obj
Renderable object corresponding to out.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.111, uniform_scalar_field, uniform_vector_field, image_field, image_field_rgb, image_field_argb, volume_field, rect_scalar_field, rect_vector_field, struct_scalar_field, struct_vector_field  [page 5-278]
Section 5.68, tri_mesh, quad_mesh, polytri_mesh  [page 5-159]
Section 5.69, tet_mesh, hex_mesh, pyramid_mesh, prism_mesh, polyhedron_mesh  [page 5-162]
5.68 tri_mesh, quad_mesh, polytri_mesh
Synopsis

mesh mappers that create meshes containing Tri, Quad or Polytri cells from coordinate and connectivity arrays

Input Ports
coord
float[nnodes][nspace]
coordinates of objects
connect
int[nnodes * cell_nnodes]
node connectivity list

Output Ports
out
Mesh
obj
output renderable object

Description

Each of these macros creates a mesh containing cells (geometric objects), given arrays containing the locations of the nodes in space and their connectivity. These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data, with the output of one of the data mapper macros to create a field.

polytri_mesh creates a mesh containing a cell set of type Polytri. This may contain multiple polytriangle strips.

tri_mesh creates a mesh containing a cell set of type Tri.

quad_mesh creates a mesh containing a cell set of type Quad.

Input Ports
coord
float[nnodes][nspace]. This array specifies the coordinates of the vertices of the cells. Their connectivity (for example, into quads or triangles) is specified in the connect array. For example, coord[4][2]={{0,0}, {1,0}, {1,1}, {0,1}} creates four vertices at the corners of the unit square in 2-space. In 3-space, you can add a Z coordinate value to each of the subarrays.
connect
int[nnodes * cell_nnodes]. For each cell, this array specifies which node in the coord array describes each vertex of that cell. The layout is by cells, with the nodes of each cell specified in the canonical cell order (see Section 2.9, Cell_Set  [page 2-42] for the cell orderings for all supported cell types).
For example, to specify a square using the example coordinates above, provide the quad_mesh macro with connect[4]={0,1,2,3}. To specify two triangles using the example coordinates above, provide the tri_mesh macro with connect[6]={0,3,2,0,2,1}. Note that in this last case there are two triangles of three vertices each, giving six entries in the array. The triangles are specified in a counterclockwise order, as required for the canonical triangle vertex ordering.
The polytri_mesh macro treats the connect array differently. Elements of the connect array are taken in pairs; each pair representing the start and end indices into the coordinates array for one polytriangle. If a coord array of dimensions [12][2] were provided, a connect array of the form connect[4] = {0,4,5,11} would produce two polytriangle strips: the first would contain triangles with coordinate indices {{0,1,2},{1,2,3},{2,3,4}} and the second would contain triangles with coordinate indices {{5,6,7},{6,7,8},{7,8,9},{8,9,10},{9,10,11}}.
Parameters

none

Output Ports
out
Mesh. Contains the mesh described by the input arrays.
obj
Renderable object corresponding to out.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
Section 5.67, point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh  [page 5-156]
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.69, tet_mesh, hex_mesh, pyramid_mesh, prism_mesh, polyhedron_mesh  [page 5-162]
Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.111, uniform_scalar_field, uniform_vector_field, image_field, image_field_rgb, image_field_argb, volume_field, rect_scalar_field, rect_vector_field, struct_scalar_field, struct_vector_field  [page 5-278]
5.69 tet_mesh, hex_mesh, pyramid_mesh, prism_mesh, polyhedron_mesh
Synopsis

mesh mappers that create meshes containing Tet, Hex, Pyr, Prism and Polyhedron cells from coordinate and connectivity arrays

Input Ports
coord
float[nnodes][nspace]
coordinates of objects
connect
int[nnodes * cell_nnodes]
node connectivity list
poly_nodes
int[npolys]
number of nodes per polygon (polyhedron_mesh only)

Output Ports
out
Mesh
obj
output renderable object

Description

Each of these macros creates a mesh containing cells (geometric objects), given arrays containing the locations of the nodes in space and their connectivity. These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data, with the output of one of the data mapper macros to create a field.

tet_mesh creates a mesh containing a cell set of type Tet (tetrahedra).

hex_mesh creates a mesh containing a cell set of type Hex (hexahedra).

pyramid_mesh creates a mesh containing a cell set of type Pyr (pyramid).

prism_mesh creates a mesh containing a cell set of type Prism (that is, a polyhedron with two three-sided faces and three four-sided faces).

polyhedron_mesh creates a mesh containing a cell set of type Polyhedron (see the description of the poly_nodes input port.)

Input Ports
coord
float[nnodes][nspace]. This array specifies the coordinates of the vertices of the cells. Their connectivity (for example, into tetrahedra or pyramids) is specified in the connect array. For example, coord[8][3]={{0,0,0},{1,0,0},{1,1,0},{0,1,0},{0,0,1},{1,0,1},{1,1,1},{0,1,1}} creates eight vertices at the corners of the unit cube in 3-space.
connect
int[nnodes * cell_nnodes]. For each cell, this array specifies which node in the coord array describes each vertex of that cell. The layout is by cells, with the nodes of each cell specified in the canonical cell order (see Section 2.9, Cell_Set  [page 2-42] for the cell orderings for all supported cell types).
For example, to specify a single cube cell using the example coordinates above, provide the hex_mesh macro with connect[8] = {7,4,5,6,3,0,1,2}. Note that in this case there is one hexahedron of eight vertices. The hexahedron vertices are specified in a the order specified for the canonical hexahedron vertex ordering (See Section 2.21, Hex, Hex2  [page 2-72]).
poly_nodes
int[npolys]. The polyhedron_mesh macro, which actually generates polygons, needs one additional parameter-the number of nodes of each polygon. Each element of this array describes the number of nodes in the corresponding polygon in the connect array. Thus, the first poly_nodes[0] elements of the connect array describe the nodes of the first polygon, the next poly_nodes[1] elements describe the next polygon, and so on. For polyhedron_mesh, the size of the connect array should equal sum(poly_nodes).
Parameters

none

Output Ports
out
Mesh. Contains the mesh described by the input arrays.
obj
Renderable object corresponding to out.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
Section 5.67, point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh  [page 5-156]
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.68, tri_mesh, quad_mesh, polytri_mesh  [page 5-159]
Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.111, uniform_scalar_field, uniform_vector_field, image_field, image_field_rgb, image_field_argb, volume_field, rect_scalar_field, rect_vector_field, struct_scalar_field, struct_vector_field  [page 5-278]
5.70 probe
Synopsis

interactively show numeric data values of field at probe location

Input Ports
in_field
Mesh + Node_Data
in_glyph
Mesh describing geometry of a probe
in_pick
pick information from renderer
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
selects data component to probe
Probe Normalize
UItoggle
normalizes probe size
probe scale
UIslider
scale factor for probe
value
UIfieldTypein
reports value of data at probe location
Probe Transform
(xform)
transformation editor to move probe

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

probe displays the data values present at the probe object's location in a mesh. When the probe object is not exactly on a node, the value shown is the result of an interpolation of the adjacent node data values.

Input Ports
in_field
This input is a field with any mesh type and Node_Data.
in_glyph
A glyph to represent the probe object. This is a mesh describing the geometry of the glyph. Any mesh can be used (that is, that of a teapot), but for convenience you can use the meshes defined in Geometries such as Arrow1, Cross2D, or Cross3D.
in_pick
This input is connected to the renderer module's picked_obj red output port. It informs 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
data component
UIradioBoxLabel. Radio buttons to pick which of the input field's components to probe. The component can be scalar or vector. The default is the first (0th) component. If node data labels are present, they are displayed.
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
UIfieldTypein. A float. 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.
Probe Transform
A transformation editor (XformEditor). Used to place the probe within the input field.
Output Ports
out_fld
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.
Algorithm

The algorithms used to interpolate the value at the probe location are trilinear interpolation for structured fields and shape functions for unstructured fields.

Example

Libraries.Examples.Visualization.Probe: examples/probe.v

File

v/modules.v

See also
Section 6.10, Cross3D  [page 6-20]
5.71 probe_cell
Synopsis

interactively probe cell data values

Input Ports
in_field
Mesh+Cell_Data
in_glyph
Mesh
in_pick
GDobject_templ
parent
user interface parent object

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

probe_cell interactively probes the value of a cell-based dataset, using a user-specified probe glyph. You click in the viewer (using the pick button) to select an object and a point on or in that object; that point is used to sample the object's cell data by finding which cell encloses that point, and using that cell's data value. The sampled value is shown in four ways:

Note that a pick object is necessary to run the module, so you must click in the viewer to set the location of the probe glyph. After the selected object is determined, you can transform the probe glyph in three ways:

Input Ports
in_field
Mesh+Cell_Data. The field to probe.
in_glyph
Mesh. The glyph to use to show the location of the probe point. This can be any mesh (for example, a teapot), but the simple meshes defined in Geometries such as Arrow1, Cross2D, or Cross3D are commonly used.
in_pick
GDobject_templ. A pick object which is output from a viewer.
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
cell data
UIradioBoxLabel. Which component of the data to probe. If the selected component is a vector, only the first element of the vector is shown.
Probe Normalize
UItoggle. When this is on, the size of the glyph is not scaled by the probed data value. When off, the size is scaled.
probe scale
UIslider. Scales the size of the glyph in X, Y and Z. If normalize is off, both the data scale and this scale are applied.
Parameters
value
UIfieldTypein. The value of the cell data component at the probe point.
Output Ports
out_fld
The output field consists of the input glyph mesh transformed to the probe location, scaled by the scale value and optionally the data value, and with Node_Data containing the probed data value.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.70, probe  [page 5-165]
Section 6.10, Cross3D  [page 6-20]
5.72 radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data
Synopsis

data mappers that create Node_Data objects representing particular types of data

Input Ports
in_data
any numeric primitive

Output Port
out
Node_Data

Description

These macros output a Node_Data object with preset identifiers that tell the renderer that the data is to be used for a particular purpose. They create Node_Data objects that can merge with a Mesh object (and possibly other node data) to create a field. A Node_Data object represents the values of some dataset at the node points of a field, while the Mesh represents the locations of that field's nodes in space.

These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is combined, using combine_mesh_data and possibly combine_node_datas, with the output of one of the mesh mapper macros to create a field. These macros are subclassed from node_scalar and node_vector; the only difference is that the id member of the Node_Data object is preset to particular values.

The amount of data provided in the in_data array must match the number of nodes in the eventual field to be constructed.

Specifies scalar data (one value per node). Whenever the nodes in the resulting field are rendered as spheres, this data will control the radius of the sphere for each node. Input is of the form in_data[nnodes].
Specify that the data is a 3 or 4 element vector with byte values, and that it should be rendered as an image. Input is of the form byte in_data[nnodes][3] or byte in_data[nnodes][4].
Specifies that the data is a 3 element vector of floats in the range [0,1], and those floats are to be interpreted as red, green, and blue values to color the field at that node. Input is of the form float in_data[nnodes][3].
Specifies that the data is a 3 element vector of floats, and those floats are to be interpreted as the direction normal to the field at that point for lighting purposes.
Specify that the data is a 2 or 3 element vector of floats, and that it should be interpreted as 2D or 3D texture coordinates.
pick_data produces a Node_Data object with id=GD_PICK_DATA_ID. It specifies pick identifier data to be associated with each node in a field. This data will be passed through many visualization modules that process fields, and can be retrieved upon picking related objects in a viewer. For example, when a mesh containing Point cells and node data is passed through the glyph module, the glyph module produces an entirely new mesh describing the geometry of a glyph to be located at each node in the original mesh.
Normal picking in the viewer would return information about the nodes of the glyph geometry itself. However, it is often desireable to obtain information about the original node from which the glyph was derived. If the original mesh has associated node data with id=GD_PICK_DATA_ID (671), modules such as glyph will transfer that node data to the nodes of the resulting glyphs. Thus, when a glyph is picked in the viewer, the original data may be obtained. This value is typically then used to index collections of other data (name, other data values, etc.) associated with the original mesh nodes.
Output Port
out
Node_Data. The node data object.
Example

Not available.

File

v/fld_map.v

See also

Related modules

Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.67, point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh  [page 5-156]
Section 5.62, node_scalar, node_vector  [page 5-146]
Section 5.12, combine_mesh_data  [page 5-34]
Section 5.13, combine_node_datas  [page 5-36]
5.73 Read_Column_File
Synopsis

reads an ASCII file containing any number of separated columns

Input Ports
parent
UIconnection

Parameters
Filename
UIfileSB
name of the file to read
skip lines
UIfield
number of lines to skip
has header line
UItoggle
if set, use header to get column names
column separator
UIradioBox
selects column separator
user separator
UIfield
custom column separator
columns setup from file
UItoggle
if set, column names and types are determined automatically by reading first lines of file
# columns in file
UIfield
number of columns in file
Columns Setup
UIoptionMenu
selects a column whose parameters are to be set
read column
UItoggle
if set, read this column
column name
UIfield
name of the column
data type
UIradioBox
selects the type of a column
null value
UIfield
value for missing column entries
Read File
UIbutton
causes file to be read

Output Ports
table
Data_Array

Description

The Read_Column_File module reads any ASCII file that contains columns of data separated by a special character or sequence of characters. The columns in the file can be of any type: character strings, integers, or real numbers. Optionally, the file can have a header line that contains the column's names. The module stops reading when it reaches the end of the file.

Here are some simple examples of column-formatted ASCII files. The following file has three columns separated by spaces:

1 bob 180.3
2 jim 230.65
3 bill 201.6

The next file contains the same three columns of data, but the columns are separated by (nonprinting) tab characters and the file has a header:

# name weight
1 bob 180.3
2 jim 230.65
3 bill 201.6

Column-formatted ASCII files are produced by many software packages; spreadsheets are common examples.

Read_Column_File provides a number of column parameters that you can use to specify whether and how individual columns in the file are processed. You use the Column Setup menu to specify a column whose parameters you want to set, and then use the following parameters to set processing specifics:

For details, see their descriptions in the Parameters section of this reference page.

Read_Column_File outputs an array of objects of type Data_Array. You can map the output to the Uniform_Field or Scattered_Field types using the Database Kit modules Table_to_Uniform_Field or Table_to_Scattered_Field. Once mapped to Uniform_Field or Scattered_Field, the data is suitable for visualizing in AVS/Express.

Note: This module may be useful to Database Kit application developers because it allows the use of ASCII files, rather than a database, to provide sample "query output" for testing Database Kit applications. Using an ASCII file instead of establishing a test database with tables, views, and data may therefore simplify testing.
Input Ports
parent
The UI parent, of type UIconnection.
Parameters
Filename
A file dialog box in which you select the file to read.
skip lines
An integer that specifies the number of lines in the file to skip. The default is 0.
has header line
A toggle that causes the module to treat the first line (after skipping the number of lines specified by the skip lines parameter) as a header that contains column names. The default is OFF.
column separator
A choice of characters to use as column separators. The allowed values are "space", "tab", ",", ";", ":", and "user". If you select "user", the value specified for the user separator parameter is treated as the column separator.
user separator
A string that specifies a character or sequence of characters to be used as column separator.
This parameter is relevant only if you have also selected "user" in the column separator parameter.
columns setup from file
A toggle that causes the module to look at the first lines of the file to generate column names and types. If the has header line parameter is set, the header is used to generate column names, otherwise the names are "column 0", "column 1", and so forth. The type for each column is determined by examining the line following the header, if one exists.
# columns in file
An integer typein that specifies the number of columns in the file. If the columns setup from file parameter is set, this number is generated automatically, otherwise you must enter it.
Columns Setup
A menu that allows you to specify a column whose parameters you want to set.
read column
A toggle that specifies whether to read the column specified by Columns Setup or skip it.
column name
A string typein that specifies the name of the column specified by Columns Setup. If the columns setup from file parameter is set, the column names are generated automatically from the header if one exists, otherwise they are assigned default names. You can overwrite this string with a name of your choice.
data type
Radio box items that specify the type of the output data for the column specified by Columns Setup. The allowed values are byte, short, int, float, double, and string.
null value
A value that is to be used to represent a null value for the column specified by Columns Setup if Read_Column_File encounters a missing entry. This parameter is used only for numeric types. For strings, the "" string is substituted for a missing entry.
Read File
A button to activate the module.
Output Ports
table
An array of objects of type Data_Array. It can be converted to the Uniform_Field or Scattered_Field types using the table_to_uniform_field and table_to_scattered_field modules.
File

v/modules.v

See also

Related modules:

Section 5.99, table_to_scattered_field  [page 5-242]
Section 5.100, table_to_uniform_field  [page 5-247]
5.74 Read_Field
Synopsis

read an AVS field (.fld file) file and output an AVS/Express field

Input Ports
ui_parent
user interface parent object

Parameters
Vector Data
UItoggle
1 component, n-vector, or n-component
Read Field Filename
UIfileSB
pick file to input

Output Ports
field
Field_Unif, Field_Rect, or Field_Struct + Node_Data
out_obj
output renderable object

Description

Read_Field reads an Application Visualization System field format file (.fld suffix) and converts it into an AVS/Express Field.

Input Ports
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
Vector Data
UItoggle. You have a choice as to how AVS field multi-vector data (veclen > 1) is stored in the output AVS/Express field.
If Vector Data is on, the veclen = n input data is stored as one Node_Data component (ncomp = 1), in which there is a Data_Array with veclen = n.
If Vector Data is off, the veclen = n input data is stored as n Node_Data components (ncomp = n), each of which contains a Data_Array with
veclen = 1.
The general rule is that Vector Data is off for everything except images and true X, Y, Z vectors. The default is Vector Data off (ncomp = n; veclen = 1). However, there are two considerations:
  • Most AVS/Express macros and base modules deal with multiple components; they do not deal with multi-vector single components. In the translation from AVS to AVS/Express, AVS veclen = Express ncomp. Thus, you usually want Vector Data off. The two exceptions are:
True X, Y, Z vectors. Where the data truly represents an X, Y, Z vector and it will be processed by modules that handle single components with multiple vectors such as curl, gradient, divergence, magnitude, or streamlines.
Images. The 2D renderers and the "IP" image processing macros in the Image_Proc library, (particularly the IPfldToImage macro that converts AVS/Express fields into the form required by the IP macros) expect multichannel (band, vector, the term varies) images to be stored as ncomp = 1, veclen = n. For these macros, you want Vector Data on.
Note that AVS/Express fields only can store one label and one unit per component. Thus, veclen = n data stored as ncomp = 1, veclen = n only has the first label or unit preserved.
You can always convert from one form into another using some combination of the extract_scalar or combine_vect macros.
Read Field Filename
File browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/field/*.fld.
Output Ports
field
The output is a new AVS/Express field. The correspondence between the AVS field input and the AVS/Express field output is shown in the following table.
AVS
AVS/Express
field=uniform
Field_Unif
field=rectilinear
Field_Rect
field=irregular
Field_Struct
nspace
nspace (same value)
ndim
ndim (same value)
dims
dims (same values)
veclen
ncomp or veclen (same values, see Vector Data discussion under Parameters above)
data=<byte, short, integer,
                             float,double>
prim type corresponds
label=<string1, string2,...,stringn>
one (first) label per component (default is "DATA" or "Vector")
unit=<string1, string2,...,stringn>
one (first) unit per component (default is " ")
min_val
min_vec = same values (in Node_Data) or 0 if byte & not set
max_val
max_vec = same values (in
min_ext
min_vec = same values (in Grid)
max_ext
max_vec = same values (in Grid) (if max < min, then reversed)
"points" array
points = same values (in Grid_Struct)
<no equivalent>
nnodes = prod(dims) (in Grid_Struct)

out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Iso_Trace
examples/isotrc.v
Libraries.Examples.Visualization.Crop
examples/crop.v
and many others in Libraries.Examples.Visualization and examples

File

v/modules.v

See also

Related modules

Section 5.77, Read_Image  [page 5-195]
Section 5.75, Read_Geom  [page 5-182]
Section 5.76, Read_Geoms  [page 5-188]
Section 5.80, Read_UCD  [page 5-202]
5.75 Read_Geom
Synopsis

read an AVS geometry (.geom file) and output an AVS/Express field

Input Port
parent
UIconnection
user interface parent object

Parameters
Read GEOM Filename
UIfileSBinput
geometry file selection

Output Ports
field
Field
output field data
geom
DataObject
output renderable object

Description

Read_Geom reads an Application Visualization System geometry format file (.geom suffix) and converts it into an AVS/Express Field.

Input Port
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 in the NE.)
Parameters
Read Geom Filename
UIfileSB file browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/geom/*.geo. The restriction of filetype to a 3 character suffix is required for portability to the PC.
The input file is an AVS .geom-format binary file, such as the file the AVS Geometry Viewer's Save Object button produces. The file can contain up to 1024 separate geometries.
The types of AVS geometry objects supported are: GEOM_POLYTRI, GEOM_POLYHEDRON, GEOM_MESH and GEOM_SPHERE. Geometry type GEOM_LABEL is not supported.
The input can contain per-vertex normal, color, radii, and texture coordinates (2D uvs or 3D uvws, not both). Vertex transparency information is ignored.
Output Ports
field
This output is a new field object containing cellsets to represent each of the supported geometry types. Input types GEOM_POLYHEDRON and GEOM_MESH are converted to GEOM_POLYTRI with both surface (polytriangle strip) and wireframe (polyline or disjoint line) representations before processing. The data from all geometries in the input file is concatenated into one AVS/Express field.
Mesh
The number of nodes is the aggregate number of vertices for all supported input geometries, after GEOM_MESHs and GEOM_POLYHEDRONs have been converted to GEOM_POLYTRIs.
The unstructured mesh consists of:
Grid
nnodes equal to the total number of vertices
nspace equal 3
Data_Array consisting of the locations of the vertices
(nvals = nnodes, veclen = 3, units = "inches")
Cells
ncell_sets in the range 1-4
An array of up to 4 cellsets, possibly one for each of these cell types:
    Polytri     Polyline     Line     Point
The types of cellsets appearing in the output is determined by the union of geometry types in the input. For example, the Polytri cellset will contain the surface information from all AVS GEOM_POLYHEDRON, GEOM_MESH and GEOM_POLYTRI input geometries.The full mapping of AVS geometry types to AVS/Express field cellsets is:
AVS geometry types
Polytri
Polyline
Line
Point
GEOM_POLYHEDRON
 
 
 
 
GEOM_MESH
 
 
 
 
GEOM_POLYTRI
 
 
 
 
GEOM_SPHERE
 
 
 
 

Polytri cellset
ncells equal to the number of polytriangle strips
node_connect_list that is the polytriangle strip connectivity
ncell_data = 0 (no cell_data)
Polyline cellset
ncells equal to the number of polylines
node_connect_list that is the polyline connectivity
ncell_data = 0 (no cell_data)
Line cellset
ncells equal to the number of line vertices/2 (number of lines)
node_connect_list that is the disjoint line connectivity
ncell_data = 0 (no cell_data)
Point cellset
ncells equal to the number of spheres
node_connect_list that is a list of the points
ncell_data = 0 (no cell_data)
Node_Data
Vertex data can be associated with AVS geometry types as indicated in the following table.
AVS geometry types
Colors
Normals
Texture
Radii
GEOM_POLYHEDRON
 
 
 
GEOM_MESH
 
 
 
 
GEOM_POLYTRI
 
 
 
 
    tristrips
 
 
 
 
    polylines
 
 
 
 
    disjoint lines
 
 
 
 
GEOM_SPHERE
 
 
 
 

Any type of node data can be associated with any cell set in AVS/Express, but some combinations do not make sense and are ignored by the viewers.
nnodes
The total number of nodes in the output field, equal to the sum of nodes in each of the cellsets: Polytri + Polyline + Line + Point
nnode_data
The number of per-vertex data items present. This will be in the range 0-4, one for each of: normals data, color data, radius data, texture coordinate data (2D uvs or 3D uvws). The uvs and uvws texture coordinates are mutually exclusive, only one of these can be present in the output geometries.
Per-vertex transparency data in the input geometry is ignored.
Data_Array
An array of nnode_data data arrays, one for each of normals data, color data, radius data, and texture data, as present in the input geometries:
normals
nvals equal to nnodes
veclen equal to 3 (x, y, z)
id equal to GD_NORMAL_NODE_DATA_ID
DTYPE_FLOAT values array
colors
nvals equal to nnodes
veclen equal to 3 (red, green, blue)
id equal to GD_COLOR_NODE_DATA_ID
DTYPE_FLOAT values array
radii
nvals equal to nnodes
veclen equal to 1 (radius)
id equal to GD_RADIUS_NODE_DATA_ID
DTYPE_FLOAT values array
uvs
nvals equal to nnodes
veclen equal to 2 (u, v)
id equal to GD_UV_NODE_DATA_ID
DTYPE_FLOAT values array
uvws
nvals equal to nnodes
veclen equal to 3 (u, v, w)
id equal to GD_UV_NODE_DATA_ID
DTYPE_FLOAT values array
geom
This is a renderable DataObject referencing the field output data.
The DataObject is a single graphical object, with no children. The name of the object is simply the input file basename. For example, the input file:
$XP_PATH/data/geom/teapot.geo
will generate a DataObject called teapot. If the output port is connected directly to a Viewer3D, then exactly one object will appear in the graphics hierarchy, and the name teapot will appear:
  • in the Object Selector browser under the ViewEditors menu
  • echoed in the border of the Viewer3D window for the current object
If there is more than one geometry in the input file, all the geometry data is concatenated into one output field. The DataObject geom output references this field.
The AVS/Express DataObject is the basic unit for rendering control. Rendering attributes include Modes, Properties and Colors. Building a single DataObject for all the input geometries means that the whole model read from file is rendered with a common set of attributes. This contrasts with the Read Geoms module, which builds a hierarchy of DataObjects, with one member of the hierarchy for each input geometry. Read Geoms allows each input geometry to have independent rendering attributes within AVS/Express.
All AVS .geo files supplied with AVS/Express contain one geometry, except these which contain two geometries:
  • crambin.geo, sphere atoms with disjoint line atomic bonds
  • math.geo, mesh surface/grid with disjoint line bounding box
Example

Libraries.Examples.Graphics_Display.GDtut_2
examples/GDtut2.v
and many others in Libraries.Examples.Graphics_Display and examples

File

v/modules.v

The V pre-processor symbols ACKIT or AC_KIT_V1 must be defined for the loading of v/modules.v, in order to access the Read Geom module. These symbols are usually defined in include/$MACHINE/config.h, and this file is included directly by v/modules.v.

See also

Related modules:

Section 5.76, Read_Geoms  [page 5-188]
Section 5.77, Read_Image  [page 5-195]
Section 5.74, Read_Field  [page 5-178]
Section 5.80, Read_UCD  [page 5-202]
Section 5.79, Read_Volume  [page 5-200]

Adding new readable image formats:

Appendix A, Adding your own image readers and writers
5.76 Read_Geoms
Synopsis

read an AVS geometry (.geom file) and output AVS/Express fields

Input Port
parent
UIconnection
user interface parent object

Parameters
Read GEOM Filename
UIfileSB
input geometry file selection

Output Ports
field
Field[]
array of fields, geometrical data
geom
DataObject
renderable object hierarchy for the fields

Description

Read_Geom reads an Application Visualization System geometry format file (.geom suffix) and converts it into an array of AVS/Express Fields.

Input Port
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 in the Network Editor.)
Parameters
Read Geom Filename
UIfileSB file browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/geom/*.geo. The restriction of filetype to a 3 character suffix is required for portability to the PC.
The input file is an AVS .geom-format binary file, such as the file the AVS Geometry Viewer's Save Object button produces. The file can contain up to 1024 separate geometries.
The types of AVS geometry objects supported are: GEOM_POLYTRI, GEOM_POLYHEDRON, GEOM_LABEL, GEOM_MESH and GEOM_SPHERE.
The input can contain per-vertex normal, color, radii, and texture coordinates (2D uvs or 3D uvws, not both). Vertex transparency information is ignored.
Output Ports
field
This output is a new array of fields. Each field element corresponds to one input geometry object from the AVS geometry file. Each field contains cellsets to represent the geometry data from the input object. Input types GEOM_POLYHEDRON and GEOM_MESH are converted to GEOM_POLYTRI with both surface (polytriangle strip) and wireframe (polyline or disjoint line) representations before processing.
For each field in the array:
Mesh
The number of nodes is the number of vertices for the input geometry, after GEOM_MESHs and GEOM_POLYHEDRONs have been converted to GEOM_POLYTRIs.
The unstructured mesh consists of:
Grid
nnodes equal to the number of vertices for this object
nspace equal 3
Data_Array consisting of the locations of the vertices
(nvals = nnodes, veclen = 3, units = "inches")
Cells
ncell_sets in the range 1-3
The number and type of cellsets appearing in each output field is determined by the geometry type for the corresponding input object. For example, a GEOM_MESH input object will require two cellsets in the output field: Polytri and Polyline. The full mapping of AVS geometry types to AVS/Express field cellsets is:
AVS geometry types
Polytri
Polyline
Line
Point
GEOM_POLYHEDRON
 
 
 
 
GEOM_MESH
 
 
 
 
GEOM_POLYTRI
 
 
 
 
GEOM_SPHERE
 
 
 
 

Polytri cellset
ncells equal to the number of polytriangle strips
node_connect_list that is the polytriangle strip connectivity
ncell_data = 0 (no cell_data)
Polyline cellset
ncells equal to the number of polylines
node_connect_list that is the polyline connectivity
ncell_data = 0 (no cell_data)
Line cellset
ncells equal to the number of line vertices/2 (number of lines)
node_connect_list that is the disjoint line connectivity
ncell_data = 0 (no cell_data)
Point cellset
ncells equal to the number of spheres
node_connect_list that is a list of the points
ncell_data = 0 (no cell_data)
Node_Data
Vertex data can be associated with AVS geometry types as indicated in the following table.
AVS geometry types
Colors
Normals
Texture
Radii
GEOM_POLYHEDRON
 
 
 
GEOM_MESH
 
 
 
 
GEOM_POLYTRI
 
 
 
 
    tristrips
 
 
 
 
    polylines
 
 
 
 
    disjoint lines
 
 
 
 
GEOM_SPHERE
 
 
 
 

Any type of node data can be associated with any cell set in AVS/Express, but some combinations do not make sense and are ignored by the viewers.
nnodes
The total number of nodes in the output field, equal to the sum of nodes in each of the cellsets: Polytri + Polyline + Line + Point
nnode_data
The number of per-vertex data items present. This will be in the range 0-4, one for each of: normals data, color data, radius data, texture coordinate data (2D uvs or 3D uvws). The uvs and uvws texture coordinates are mutually exclusive, only one of these can be present in the output geometries.
Per-vertex transparency data in the input geometry is ignored.
Data_Array
An array of nnode_data data arrays, one for each of normals data, color data, radius data, texture data (2D uvs or 3D uvws), as present in the input geometries.
normals
nvals equal to nnodes
veclen equal to 3 (x, y, z)
id equal to GD_NORMAL_NODE_DATA_ID
DTYPE_FLOAT values array
colors
nvals equal to nnodes
veclen equal to 3 (red, green, blue)
id equal to GD_COLOR_NODE_DATA_ID
DTYPE_FLOAT values array
radii
nvals equal to nnodes
veclen equal to 1 (radius)
id equal to GD_RADIUS_NODE_DATA_ID
DTYPE_FLOAT values array
uvs
nvals equal to nnodes
veclen equal to 2 (u, v)
id equal to GD_UV_NODE_DATA_ID
DTYPE_FLOAT values array
uvws
nvals equal to nnodes
veclen equal to 3 (u, v, w)
id equal to GD_UV_NODE_DATA_ID
DTYPE_FLOAT values array
geom
This is a renderable DataObject hierarchy referencing the array of fields output data.
The output DataObject is a local top object with one child DataObject for each input geometry. The top object itself does not reference any geometric field data. If there is only one geometry in the input file, the geom output contains the top DataObject with one child. The names of the DataOobjects are derived from the input file basename. The DataObjects are labelled with suffices:
  • basename.Top for the local top DataObject
  • basename.objN for each child DataObject,
where N = 0, 1 ... (number of input objects - 1)
If the geom output is connected to a Viewer3D, then the DataObject names will appear:
  • in the Object Selector browser under the ViewEditors menu
  • echoed in the border of the Viewer3D window for the current object
The AVS/Express DataObject is the basic unit for rendering control. Building each output geometry object as a seperate field means the rendering attributes can be specified independently for each object. These attributes include Modes, Properties and Colors.
This is in contrast to the Read Geom module, which concatenates all input geometries into one output field and DataObject. Read Geom forces the whole geometric model read from the input file to have common rendering attributes.
All AVS .geo files supplied with AVS/Express contain one geometry, except these which contain two geometries:
  • crambin.geo, sphere atoms with disjoint line atomic bonds
  • math.geo, mesh surface/grid with disjoint line bounding box
Example
The input file $XP_PATH/data/geom/crambin.geo contains two AVS geometries:
  • GEOM_SPHERE with spheres representing the atoms
  • GEOM_POLYTRI with disjoint lines representing the atomic bonds
The corresponding Read Geoms field output contains 2 field elements:
field[0] for the atoms data, with one Point cellset
field[1] for the bonds data, with one Line cellset
The file basename is crambin. The top DataObject in the geom output is called crambin.Top, it has two child DataObjects named crambin.obj0 and crambin.obj1:


File

v/modules.v

The V pre-processor symbols ACKIT or AC_KIT_V1 must be defined for the loading of v/modules.v, in order to access the Read Geoms module. These symbols are usually defined in include/$MACHINE/config.h, and this file is included directly by v/modules.v.

See also

Related modules

Section 5.75, Read_Geom  [page 5-182]
Section 5.77, Read_Image  [page 5-195]
Section 5.74, Read_Field  [page 5-178]
Section 5.80, Read_UCD  [page 5-202]
Section 5.79, Read_Volume  [page 5-200]
5.77 Read_Image
Synopsis

read an image file and output an AVS/Express field

Input Port
ui_parent
user interface parent object

Parameters
Read IMAGE Filename
UIfileSB
pick file to input
flip
UItoggle
invert boolean
format
UIradioBox
file format

Output Port
field
Mesh_Unif + Dim2 + Space2
image
output renderable object

Description

Read_Image reads an image file and converts it into an AVS/Express Field.

Input Port
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
Read IMAGE Filename
File browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/image/*.
flip
Boolean indicating whether to invert the image about the x axis, that is, in the vertical direction.
format
An integer value indicating the file format. A value of 0 causes the format to be determined from the file itself by looking at the id information in the header, or by using the filename extension. Other values indicate the format explicitly. The following image formats are currently supported:
WARNING: Use of this software for providing LZW capability for any purpose is not authorized unless user first enters into a license agreement with Unisys under U.S. Patent No. 4,558,302 and foreign counterparts. For information concering licensing, please contact:

Unisys Corporation
Welch Licensing Department - C1SW19
Township Line & Union Meeting Roads
P.O. Box 500
Blue Bell, PA 19422
Once you have entered into such a license agreement with Unisys Corp, runtime generation support for GIF and TIFF can be enabled in AVS/Express at no additional cost. Contact Advanced Visual Systems customer support for details.
Support for additional image formats can be provided by creating new readers using available API calls (see Appendix A, Adding your own image readers and writers). To obtain a current list of the supported image types, you can open v/modules.v and search for "Read_Image" - the list can be found in the defined radioBox labels.
Output Port
field
The output is a new Mesh_Unif object.
Note: The order of the image's scan lines is reversed. For example, if an input image had four rows of pixels (0, 1, 2, 3) with 0 the "top" of the image, the output image has four rows of pixels (3, 2, 1, 0) with 0 at the "bottom" of the image. The reason for this is that the renderer recognizes 0,0 as the lower left of an object, not the upper left. Reversing the image's scan lines makes the image appear upright in the renderer window.
Because the scan lines are reversed, a few image processing functions may not produce the same result as they would if the image was right side up. To ensure correct results, use the flip input parameter.
The new Mesh_Unif contains:
Node_Data
nnodes equal to the number of pixels
nnode_data (number of components) equals 1
Data_Array
veclen equals 4 (alpha, red, green, blue)
id equals GD_RGB_DATA_ID
values array contains the ARGBs of all pixels
primitive data type DTYPE_BYTE
Grid_Unif (portions derived from Grid_Struct)
ndims equal to 2 (from Dim2)
dims array equal to dims[0] = x; dims[1] = y
points array equal to: points[0] = 0.0
points[1] = 0.0
points[2] = (float) x - 1
points[3] = (float) y - 1
Grid
nspace equals Space2
DefaultXform with an rspace equal to 2
image
obj. This is a renderable version of the output field.
Example

Not available.

File

v/modules.v
modules/rd_image.c
modules/image.h

See also

Related modules:

Section 5.74, Read_Field  [page 5-178]
Section 5.75, Read_Geom  [page 5-182]
Section 5.76, Read_Geoms  [page 5-188]
Section 5.80, Read_UCD  [page 5-202]
Section 5.115, Write_Image  [page 5-287]

Supporting new image formats:

Appendix A, Adding your own image readers and writers

5.78 Read_netCDF
Synopsis

read a dataset from a netCDF file

Input Port
parent
user interface parent object

Output Ports
field
Mesh + Node_Data
obj
output renderable object

Description

Read_netCDF reads a dataset from a netCDF file into an AVS/Express field. If the netCDF file was written with the AVS/Express Write_netCDF module, then Read_netCDF outputs the same object that was written (a field or other AVS/Express object). If the file contains only a standard netCDF object, without AVS/Express header information, Read_netCDF produces an object containing the data elements of the netCDF file.

Input Port
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
netCDF Filename
UIfileSB. The name of the netCDF file to read.
Output Ports
field
Mesh+Node_Data. The output field.
obj
Renderable object corresponding to field.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.116, Write_netCDF  [page 5-290]
5.79 Read_Volume
Synopsis

read an AVS volume (.dat file) and output an AVS/Express field

Input Port
ui_parent
user interface parent object

Parameters
Read vol Filename
UIfileSB
pick file to input

Output Ports
field
Field_Unif + Dim3 + Space3+Scalar+Byte+Oparam
geom
output renderable object

Description

Read_Volume reads an Application Visualization System volume format file (.dat suffix) and converts it into an AVS/Express Field_Unif.

Input Port
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
Read vol Filename
File browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/volume/*.dat.
The input file is an AVS volume (.dat) format binary file such as the AVS write volume module produces.
Output Ports
out
The output is a new Field_Unif object containing:
Node_Data
nnodes equal to the product of the dims array (X x Y x Z)
nnode_data equals 1 (one Data_Array component)
Data_Array
nvals equals nnodes
veclen equals 1
values array contains the scalar node values
primitive data type OM_TYPE_BYTE
Grid_Unif (portions derived from Grid_Struct)
ndims equal to 3 (from Dim3)
dims array equal to dims[0] = x dim; dims[1] = y dim; dims[2] = z dim
points array equal to: points[0] = 0.0
points[1] = 0.0
points[2] = 0.0
points[3] = (float) x - 1.0
points[4] = (float) y - 1.0
points[5] = (float) z - 1.0
Grid
nspace equals Space3
Example

Not available.

Files

v/modules.v

See also

Related modules

Section 5.74, Read_Field  [page 5-178]
Section 5.75, Read_Geom  [page 5-182]
Section 5.76, Read_Geoms  [page 5-188]
Section 5.80, Read_UCD  [page 5-202]
Section 5.77, Read_Image  [page 5-195]
5.80 Read_UCD
Synopsis

read an AVS UCD (.inp file) and output an AVS/Express field

Input Ports
ui_parent
user interface parent object

Parameters
Read UCD Filename
UIfileSB
pick file to input

Output Ports
field
Field
out_obj
output renderable object

Description

Read_UCD reads an Application Visualization System UCD format file (.inp suffix) and converts it into an AVS/Express Field.

Input Ports
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
Read UCD Filename
UIfileSB file browser. Selects the disk file to input and convert. The default search pattern is $XP_PATH<0>/data/ucd/*.inp.
The input file is an AVS UCD (.inp) format binary or ASCII file such as the AVS write ucd module produces.
Output Ports
field
Field. The output is a new Field object.
The new Field contains:
Node_Data
nnodes equal to the number of nodes
nnode_data (number of components) equal to the number of components associated with each node in the input. For example, (a, [b, c, d], e) would have nnode_data = 3.
Note that Read_UCD ignores any mid-edge nodes, treating the cells as though they had only corner nodes.
Data_Array
veclen equal to vector length of that component. For example, ([b, c, d]) has veclen = 3
values array contains the data of this component
labels equal to that component's label; " " default
units equal to that component's units; " " default
min, max are not set. They are derived via the Data_Array function
primitive data type DTYPE_FLOAT
Cells
ncell_sets equal to the total number of different cell types (hex, pyr, tet, and so on), present in the input file. There will be one Cell_Set per type.
Cell_Set
One for each different cell type and different material id in the input (for example:
   type tet material id 7, type tet material id 4, type hex material
id 4 yields the three Cell_Sets: Tet & 7, Tet & 4, Hex & 4)
ncells equal to the total number of cells of this type
cell_name equal to cell type (Point, Tri, Quad, Tet, Hex, and so on)
remainder appropriate for that cell type
Cell_Data
Read_UCD does not read cell data.
Grid (unstructured Grid)
nnodes equal to the total number of nodes
nspace = 3
coordinates array equal to the input
min_vec and max_vec equal to input's min_ext, max_ext
Grid
nspace equals 3
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Advect
examples/advect.v
Libraries.Examples.Visualization.Curl
examples/curl.v

File

v/modules.v

See also

Related modules

Section 5.74, Read_Field  [page 5-178]
Section 5.75, Read_Geom  [page 5-182]
Section 5.76, Read_Geoms  [page 5-188]
Section 5.77, Read_Image  [page 5-195]
Section 5.79, Read_Volume  [page 5-200]
5.81 reset_xform
Synopsis

reset the transformation on a field to an identity

Input Port
in_field1
Mesh

Parameters
none
Output Ports
out_fld
Mesh
 
out_obj
obj
renderable mesh

Description

reset_xform resets the transformation of a field's mesh to be equal to an identity transformation. It is used to "desynchronize" the orientation of two fields.

Input Port
in_field1
The input is any mesh. This is the field to transform.
Output Ports
out_fld
The output is a reference to an object that is the merge of the input mesh with the new transformation set.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Iso_Trace
examples/isotrc.v

File

v/modules.v

See also

Related modules

Section 5.88, set_xform  [page 5-219]
5.82 ribbons_plot
Synopsis

create "height surfaces" of a 2D field that are continuous along one axis but discontinuous along the other

Input Ports
in_field
Mesh_Unif+Node_Data
ui_parent
user interface parent object

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

ribbons_plot creates height surfaces of a 2D field by treating the values of a component of that field as height above the surface of the field, and the values of another component as color to be applied. The surfaces so created are continuous along one axis (selectable as X or Y) and discontinuous along the other axis, so they look like a set of colored ribbons draping over a surface. Each quadrilateral polygon composing a ribbon segment is created as follows:




Two points above a pair of node points along the continuous axis define the left side of the polygon. The polygon is flat (horizontal) along the other axis. The width of the ribbons is scaled by the scale slider, and the offset value is added to their height. Note that the ribbons, in general, extend one grid cell width past the grid in the +X and +Y directions, as shown above.

Input Ports
in_field
Mesh_Unif+Node_Data. The ribbon plot is built on this mesh, using the node data values as heights.
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
ribbon direction
UIradioBoxLabel. Selects which direction the ribbons should run.
height data
UIradioBoxLabel. Which node data component to map to ribbon height.
map data
UIradioBoxLabel. Which node data component to map to ribbon color.
scale
UIslider. This scale factor is applied to the data values to convert them into heights above the mesh.
offset
UIslider. This offset is added to the heights to offset the ribbons from the surface of the field.
Output Ports
out_fld
Mesh+Node_Data. The mesh contains the ribbons, with the node data containing the color.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Ribbon_Plot
examples/rib_plot.v

File

v/modules.v

See also
Section 5.8, city_plot  [page 5-25]
Section 5.98, surf_plot  [page 5-240]
5.83 select_cells
Synopsis

extract one or more Cell_Sets from a Cells Grid

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
cell sets
UIoptionBoxLabel
pick cells to extract

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

select_cells extracts one or more Cell_Sets from a Cells Grid. For example, you use it if the Grid contains both Tri and Hex cells and all you want the downstream module to work on is the Tri cell_set.

Input Ports
in_field
The input is a field with an unstructured Mesh. Typically, this mesh contains more than the usual one Cell_Set.
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
cell sets
UIoptionBoxLabel. A series of buttons to select which Cell_Sets to extract. The labels displayed include the Cell_Set's cell_name value (the type of cell), plus any user-supplied names that may have been added. You can pick multiple Cell_Sets.
Output Ports
out_fld
The output is a reference to a merged object that contains a new Cells object with the selected cell_sets, plus the remainder of the input Mesh.
out_obj
This is a renderable version of the output field.
Files

v/modules.v

Example

Libraries.Examples.Visualization.Cell_Data
examples/celld.v

See also

Related modules

Section 5.7, cell_to_node  [page 5-23]
Section 5.35, extract_cell_component  [page 5-89]
5.84 scale
Synopsis

scale a 3D mesh in X, Y, and/or Z

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
X-scale
UIslider
value to scale the X axis
Y-scale
UIslider
value to scale the Y axis
Z-scale
UIslider
value to scale the Z axis

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

scale scales a mesh in the X, Y, and/or Z direction, making it appear larger or smaller in the renderer window. The grid is unchanged, but its associated xform transformation matrix is altered.

Input Ports
in_field
The input is any mesh. Any Node_Data that is present is ignored.
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
X-scale
Y-scale
Z-scale
UIsliders. Floats. These inputs independently control the degree of X, Y, and Z scaling. The default is 1.0 (leave at current size). The range is -10.0 to 10.0.
Output Ports
out_fld
The output field is the same mesh as the input mesh, but with its xform matrix changed to reflect the scaling.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Mirror_Scale
examples/mirr_scl.v

File

v/modules.v

See also

Related modules

Section 5.84, scale  [page 5-210]
5.85 scat_to_tri
Synopsis

converts a scattered grid into triangular or tetrahedral unstructured mesh

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
2D(triangles)
UItoggle
if 3D, make 2D triangular surface

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

scat_to_tri converts a field with a scattered grid into a triangular or tetrahedral mesh. A "scattered grid" means that there is a mesh made up of disconnected nodes in space. An example is seismic data, where the coordinates are the latitude, longitude, (and perhaps elevation) of a sensing station, and the Node_Data was a set of observations. The grid is "scattered" because there is not data for every latitude, longitude, and elevation that exists.

Fields whose meshes have nspace=2 are converted to triangular unstructured meshes. For meshes having nspace=3, if the 2D(triangles) toggle is off, they are converted to tetrahedral unstructured meshes; if the 2D(triangles) toggle is on, they are converted to a triangular unstructured mesh (a surface existing in 3-space).

Input Ports
in_field
The input is a field with any mesh. If Node_Data is present, a reference to it is copied to the output field.
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
2D(triangles)
UItoggle. This toggle only has meaning if the input is nspace=3. If off, the scattered grid is converted to a tetrahedral unstructured mesh (essentially a three-dimensional volume existing in 3-space. If on, the scattered grid is converted to a triangular unstructured mesh (essentially a two-dimensional surface existing in 3-space). The default is off.
Output Ports
out_fld
The output is a new unstructured mesh with cell type Tri (for nspace=2 or nspace=3 with 2D toggle on input) or Tet (nspace =3 input). If Node_Data was present in the input field, the output field contains a reference to it.
out_obj
This is a renderable version of the output field.
Algorithm

scat_to_tri uses a proprietary version of the Delaunay tessellation algorithm.

Example

Libraries.Examples.Visualization.Scat_to_Tet
examples/sct2tet.v

File

v/modules.v

See also

Related modules

Section 5.86, scat_to_unif  [page 5-214]

5.86 scat_to_unif
Synopsis

interpolate scattered data into a uniform mesh

Input Ports
in_field
Mesh + Node_Data
ui_parent
module stack port

Parameters
data component
UIradioBoxLabel
component to process
ndim
UIslider
set dimension of search
I-dimension
UIslider
i dimension of search
J-dimension
UIslider
j dimension of search
K-dimension
UIslider
k dimension of search
search distance X
UIslider
X depth of search
search distance Y
UIslider
Y depth of search
search distance Z
UIslider
Z depth of search
order
UIslider
order of interpolation

Output Ports
out_fld
Mesh_Unif + Node_Data
out_obj
output renderable object

Description

scat_to_unif converts a field with a scattered grid into a field with a uniform mesh. A "scattered grid" has a structured mesh made up of disconnected nodes in space. An example is seismic data where the coordinates are the latitude, longitude, and perhaps elevation, of a sensing station, and the Node_Data is a set of observations. The grid is "scattered" because there is not data for every latitude, longitude, and elevation that exists.

scat_to_unif lets you define a uniform mesh of any dimensionality, coordinate extents, and physical extents. It superimposes the input grid over this new grid that you defined. Then, it searches the input grid's neighboring real nodes that have data (where search distance X, Y and Z control what is a neighbor), and creates data values for all the nodes in the new grid by interpolating from those neighboring data values. You can control the order of interpolation, what values are considered NULL, and what number to use as the NULL data value.

Input Ports
in_field
The input is a field with any mesh and Node_Data.
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
data component
UIradioBoxLabel. Radio buttons to pick which component to use for the data generation. The selection can be scalar or vector. The default is the first (0th) component. If node data labels are present, they are displayed.
ndim
UIslider. Sets the dimensionality of the "search cube", "search rectangle", or "search line" that is used to traverse the data. The default is 3 (search cube). The range is 1 to 3.
I-dimension
J-dimension
K-dimension
UIsliders. Set the dimensions of the search cube, rectangle, or line (depending on the input dimensionality). Use as many as necessary to match ndim. The defaults are 10 for each. Their range is 0 to 1000.
search distance X
search distance Y
search distance Z
UIsliders. Float. Set the depth of the search for nodes in the input mesh. The defaults are (max_xyz - min_xyz)/10.
order
UIslider. Integer. Controls the order of interpolation performed on the adjacent nodes. The default is 2. The range is 0 to 32.
Output Ports
out_fld
The output is a uniform mesh (mesh type Mesh_Unif). Its Node_Data is the interpolated data values at each node in the uniform grid.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Scat_to_Unif
examples/sct_unif.v

File

v/modules.v

See also

Related modules

Section 5.85, scat_to_tri  [page 5-212]
5.87 set_null
Synopsis

flag a specified data value as NULL or not NULL in one component of a field

Input Ports
in_field
Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
set component to flag as null or not null
Null Value
UIfieldTypein
value of NULL data
unset null
UItoggle
set to not null

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

set_null alters a field by defining a specified value as a NULL value and setting the flag that indicates the presence of NULL data to 1 ("has null data"). This is done on a per-component basis-one component may have NULL data while others do not.

set_null can also unset the flag that indicates NULL data.

Input Ports
in_field
The input must contain Node_Data.
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
data component
UIradioBoxLabel. Radio buttons to pick which component will be flagged as having NULL data (or to unflag). The components can be scalar or vector. The default is the first (0th) component. If node data labels are present, they are displayed.
Null Value
UIfieldTypein. A float typein. Specifies the data value that is treated as a NULL value. The default is 0.
unset null
UItoggle. Unflag data component as having NULL data. The default is off.
Output Ports
out_fld
The output is a reference to the input field. The input field's Node_Data has been altered so that the null_flag =1 and null_value is set for the component's Data_Array. set_null is one of the few macros that actually changes its input data field.
If unset was toggled, null_flag=0.
out_obj
This is a renderable version of the output field. (The field is renderable only if it included a mesh.)
Example

Libraries.Examples.Visualization.Null_Data
examples/nulldt.v

File

v/modules.v

See also

Related modules

Section 5.106, threshold  [page 5-264]
Section 5.105, thresh_null  [page 5-262]
5.88 set_xform
Synopsis

set the transformation on a field

Input Ports
in_field1
Mesh
in_field2
GDxform_templ

Parameters
none
Output Ports
out_fld
Mesh
 
out_obj
obj
renderable mesh

Description

set_xform sets the transformation of a field's mesh to equal that of another input transformation. It is used when you want to "synch up" the transformation of one field with another.

Input Ports
in_field1
The input is any mesh. This is the field to transform.
in_field2
The input is any field with a Grid. This Grid's transformation (xform) is used to transform in_field1.
Output Ports
out_fld
The output is a reference to an object that is the merge of the input mesh with the new transformation set.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Iso_Trace
examples/isotrc.v

File

v/modules.v

See also
Section 5.81, reset_xform  [page 5-205]
5.89 shrink_cells
Synopsis

produce a mesh with cells shrunk relative to their geometric centers

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
shrink cells
UItoggle
shrink cells
shrink factor
UIslider
shrink factor for cells

Output Ports
out_fld
Mesh
out_obj
output renderable object

Description

The shrink_cells module produces a mesh containing disjoint cells which can be optionally shrunk relative to their geometric centers. It creates duplicate nodes for all cells that share the same node, making them disjoint. If the shrink cells toggle is set, the module computes new coordinates for the nodes based on the specified shrink factor (which specifies the scale relative to the geometric centers of each cell). The shrink factor can vary from 0 to 1. A value of 0 produces non-shrunk cells; 1 produces completely collapsed cells (points). This module is useful for separate viewing of cells comprising a mesh.

Input Ports
in_field
The input must contain any type of mesh.
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
shrink
UItoggle. If off, the output mesh will contain disjoint cells with the same coordinates as the input mesh. If set on, the module computes new coordinates for the nodes based on the shrink factor that specifies the scale relative to the geometric centers of each cell. The default is on.
shrink_factor
UIslider. A float slider to adjust the sizes of the cells. The shrink factor value specifies the scale relative to the geometric centers of each cell. The shrink factor value can vary from 0 to 1, 0 producing non-shrunk cells and 1 producing completely collapsed cells (points). The default is 0.3. The range is 0.0 to 1.0.
Output Ports
out_fld
The output field contains a new mesh that contains disjoint cells shrunk relative to their geometric centers. It also contains a Node_Data and Cell_Data if present in the input mesh.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Shrink_Cells
examples/shrink.v

File

v/modules.v

See also

Related modules:

Section 5.5, cell_centers  [page 5-19]
Section 5.24, cylinder_plot_unif  [page 5-62]
Section 5.41, extrude_cells  [page 5-98]

5.90 slice
Synopsis

extract a 2D slice from a field with an arbitrarily positioned slice plane

Input Ports
in_field
Mesh [+ Node_Data] [+Cell_Data]
in_plane
2D Mesh_Unif (slicing plane)
ui_parent
user interface parent object

Parameters
map components
UIoptionBoxLabel
node data components to output
map cell data
UIoptionBoxLabel
cell data components to output
plane distance
UIslider
moves slicing plane parallel to itself

Output Ports
out_fld
Mesh [+ Node_Data]
out_obj
output renderable object

Description

slice extracts an arbitrarily-oriented 2D slice of data from a 3D (or 2D) mesh field. Output is generated every time the slice plane moves.

Input Ports
in_field
The input is any 3D or 2D mesh. It may optionaly have node and/or cell data that can be mapped onto resulting mesh.
in_plane
The slicing plane. This is a 2D Mesh_Unif. It is generated by the plane object found in Geometries.FPlane or Geometries.Plane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
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
map components
UIoptionBoxLabel. Option buttons to pick which components of in_field's node data to map to the output field. The default is the first (0th) component. If node data labels are present, they are displayed.
map cell data
UIoptionBoxLabel. Option buttons to pick which components of in_field's cell data to map to the output field. The default is the first (0th) component. If cell data labels are present, they are displayed.
plane distance
UIslider. A float slider that moves the plane through the field perpendicular to the plane's current orientation. Though the Plane Transformation panel has X, Y, and Z transformation controls, it is usually easier to use plane's controls to orient and size the plane, but use this plane distance control to move the plane. slice generates output whenever the slice plane moves.
The default distance is 0.0. The minimum range is the (absolute value of maximum coordinate - minimum coordinate) * -0.5. The maximum range is the (absolute value of the maximum coordinate - minimum coordinate) * 0.5.
Output Ports
out_fld
The output field contains a new, subsetted 2D (or 1D) mesh and a new node and/or cell data.
out_obj
This is a renderable version of the output field.
Algorithm

The interpolation algorithm for calculating coordinates and node data values is trilinear for structured meshes, and shape functions for unstructured meshes.

Example

Libraries.Examples.Visualization.Slice
examples/slice.v
Libraries.Examples.Visualization.Threshold
examples/thresh.v
Libraries.Examples.Visualization.Clamp
examples/clamp.v

File

v/modules.v

See also

Related modules

Section 6.16, FPlane  [page 6-29]
Section 6.23, Plane  [page 6-43]
5.91 slice_plane
Synopsis

extract a 2D slice from a field with an arbitrarily positioned slice plane

Input Ports
in_field
Mesh [+Node_Data] [+Cell_Data]
ui_parent
user interface parent object

Parameters
map components
UIoptionBoxLabel
node data components to output
map cell data
UIoptionBoxLabel
cell data components to output
plane distance
UIslider
moves slicing plane parallel to itself

Output Ports
out_fld
Mesh [+Node_Data] [+Cell_Data]
out_plane
Plane_Mesh
out_obj_slice
output renderable object of slice
out_obj_plane
output renderable object of slicing plane

Description

slice_plane is a macro that contains the slice macro and a slicing plane object. It extracts a 2D or 1D slice from a 3D or a 2D field at a given distance from the plane. See the documentation for the slice macro for details.

Input Ports
in_field
Mesh. The field to slice, which can be any 3D or 2D mesh.
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
map components
UIoptionBoxLabel. Option buttons to pick which components of in_field's node data to map to the output field. The default is the first (0th) component. If node data labels are present, they are displayed.
map cell data
UIoptionBoxLabel. Option buttons to pick which components of in_field's cell data to map to the output field. The default is the first (0th) component. If cell data labels are present, they are displayed.
plane distance
UIslider. A float slider that moves the plane through the field perpendicular to the plane's current orientation. Though the Plane Transformation panel has X, Y, and Z transformation controls, it is usually easier to use plane's controls to orient and size the plane, but use this plane distance control to move the plane. slice generates output whenever the slice plane moves.
The default distance is 0.0. The minimum range is the (absolute value of maximum coordinate - minimum coordinate) * -0.5. The maximum range is the (absolute value of the maximum coordinate - minimum coordinate) * 0.5.
Output Ports
out_fld
The output field contains a new, subsetted 2D (or 1D) mesh and a new node and/or cell data.
out_plane
Plane_Mesh. A 2D mesh representing the plane used to do the slicing.
out_obj_slice
Renderable object corresponding to out_fld.
out_obj_plane
Renderable object corresponding to out_plane. This may be fed to the viewer and transformed to transform the slicing plane.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.90, slice  [page 5-222]
Section 6.23, Plane  [page 6-43]
Section 6.16, FPlane  [page 6-29]
5.92 slice_texture2D
Synopsis

create a 2D texture mapped slice of a uniform field

Input Ports
in_field
Mesh_Unif + Node_Data
in_plane
slicing plane (Mesh)
texture_map
colors, from colormap

Parameters

none

Output Ports
out_fld
Mesh_Unif + Space2 +Dim2 + Node_Data
out_obj
output renderable object

Description

slice_texture2D uses a 2D slice plane to extract a slice from a 3D uniform field. It then 2D texture maps this slice plane with colors representing the data values of the first component (which must be scalar) on the extracted slice.

Input Ports
in_field
The input is a Mesh_Unif with Node_Data, The first component is used to create the texture map.
in_plane
The slicing plane. This is generated by the plane object found in Geometries.Plane or Geometries.FPlane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
texture_map
A colormap to provide the texture map, from Libraries.Main.Fields.Data.colormap.
Output Ports
out_fld
The output is a 2D Mesh_Unif. Its Node_Data is the u, v, w texture mapping values. Its points array (extents) is set to retain the position of the field in space.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Slice_Texture2D
examples/slc_txt2.v

File

v/modules.v

See also

Related modules

Section 5.23, cut_texture3D  [page 5-59]
Section 5.93, slice_texture3D  [page 5-228]
Section 5.30, excavate_brick3D  [page 5-78]
Section 5.50, interp_texture3D  [page 5-116]
Section 6.16, FPlane  [page 6-29]
Section 6.23, Plane  [page 6-43]
5.93 slice_texture3D
Synopsis

create a 3D texture mapped slice of a uniform field

Input Ports
in_field
Mesh_Unif + Node_Data
in_plane
slicing plane (Mesh)
texture_map
colors, from colormap

Parameters

none

Output Ports
out_fld
Mesh_Unif + Space3 +Dim3 + Node_Data
out_obj
output renderable object

Description

slice_texture3D uses a slicing object to extract a plane of data from a 3D uniform field. It then 3D texture maps the surface of this plane with colors representing the data values of the first component (which must be scalar) on the extracted surface.

Input Ports
in_field
The input is a Mesh_Unif with Node_Data. The first component's value is used to create the texture map.
in_plane
The slicing plane. This is generated by the plane object found in Geometries.Plane or Geometries.FPlane. The plane object has its own Plane Transformation panel that controls plane rotation, translation, and scale, as well as controls to specify its size when it is connected to the default user interface object in the application in which the macro is instanced.
texture_map
A colormap to provide the texture map, from Libraries.Main.Fields.Data.colormap.
Output Ports
out_fld
The output is a 3D Mesh_Unif. Its Node_Data is the u, v, w texture mapping values. Its points array (extents) is set to retain the position of the volume of the field in space.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Slice_Texture3D
examples/slc_txt3.v

File

v/modules.v

See also

Related modules

Section 5.23, cut_texture3D  [page 5-59]
Section 5.92, slice_texture2D  [page 5-226]
Section 5.30, excavate_brick3D  [page 5-78]
Section 5.50, interp_texture3D  [page 5-116]
Section 6.16, FPlane  [page 6-29]
Section 6.23, Plane  [page 6-43]
5.94 solid_contour
Synopsis

create multiple 2D or 3D filled contours

Input Ports
in_field
Mesh+Node_Data
ui_parent
user interface parent object

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

solid_contour produces solid (filled) contour regions of a given component of an input field. If the input mesh is 2D, the output is similar to contour lines, except the regions between the lines are filled with a color representing the value of that contour. The output cells are subdivisions of the input cells, cut by the contour lines.

If the input mesh is 3D, the output is a set of 3D cells filling the regions between adjacent isosurfaces. The output cells are, in general, subdivisions of the input cells, cut by the contour surfaces.

The number of contour regions is set by the parameters; the region boundaries are evenly spaced from level_min to level_max. The data value in the output cells is the average of the values of the two contour lines or surfaces bounding that region.

Note: The solid_contour module does not generate vertex normals by default. For more details, see Section 5.1.8, Vertex normal generation  [page 5-4].
Input Ports
in_field
Mesh+Node_Data. 2D or 3D input field to contour.
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
contour component
UIradioBoxLabel. Select which component of in_field to contour.
number of contours
UIslider. Sets the number of contour regions.
min level
UIslider. Sets the lowest contour level.
max level
UIslider. Sets the highest contour level.
Output Ports
out_fld
Mesh+Cell_Data. Represents the solid contours. This mesh has the same dimensionality as the input.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Solid_Contour
examples/sol_con.v

File

v/modules.v

See also

Related modules

Section 5.17, contour  [page 5-43]
Section 5.71, probe_cell  [page 5-168]
5.95 streamlines
Synopsis

integrate a velocity field producing streamlines or streamribbons

Input Ports
in_field
Mesh + Node_Data
in_probe
Mesh of initial streamline positions
ui_parent
user interface parent object

Parameters
velocity vector
UIradioBoxLabel
which vector component to streamline
Direction
UIradioBoxLabel
forward/backward motion of particles
nsegments
UIslider
accuracy of integration
max segments
UIslider
number of integration steps
order
UIslider
order of integration
min_velocity
UIslider
minimum velocity value when integration stops
Ribbons
UItoggle
create streamribbons
ribbon width
UIslider
control width of ribbon
ribbon angle
UIslider
set ribbon angle

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

streamlines generates streamlines or streamribbons based on a field of any mesh type that has at least one component that is a one-, two-, or three-element vector.

You place a sample of points (the in_probe) at a starting location in the field. Then, for every time step, streamlines advances each sample point through space based on the interpolated value of the vector field at its present position. The result is a set of streamlines or streamribbons showing the progress of massless particles through a vector field.

streamlines is similar to the advector macro, except that the result is a set of lines instead of a dynamically updated set of glyphs.

Input Ports
in_field
The input field can have any type of mesh. Its Node_Data must contain at least one component that is a one-, two-, or three-element velocity vector.
in_probe
Any mesh whose coordinates represent the sample points. To create this sampling mesh you can use the plane objects in Geometries or the slice macro.
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
velocity vector
UIradioBoxLabel. Radio buttons to pick on which component to base the streamlines. The selection must be a three-element vector.
Direction
UIradioBoxLabel. Radio buttons to pick the direction of streamline generation, forward or backward. The default is forward.
nsegments
UIslider. An integer slider that sets how many integration steps will be used within one grid "cell" to compute the streamline path. The default is 2. The range is from 0 to 16.
max segments
UIslider. An integer slider that sets the total number of integration steps. When an individual streamline exceeds this value, integration for it stops. The range is from 1 to 10000. The default is 256.
order
UIslider. An integer slider that sets the order of integration. Higher orders are more accurate, but execute more slowly. The default is 2. The range is from 1 to 4.
min_velocity
UIslider. A float slider. When a streamline falls below this velocity, the integration process for that streamline stops. The default is 0.00001. The range is from 0.0 to unbounded. You can use this to prevent wasted computation for streamlines barely moving, or even stationary (min_velocity = 0).
Ribbons
UItoggle. When on, streamlines produce streamribbons rather than streamlines. The default is off.
ribbon width
UIslider. An integer slider. Scales the width of the ribbon. Ribbon width varies along its length according to the divergence of the flow. This value controls ribbon width at the beginning of the ribbon. The default is 1. The range is unbounded.
ribbon angle
UIslider. An integer slider. Controls the initial angle at which the ribbon is drawn. The default is 0. The range is 0.0 to 360.0.
Output Ports
out_fld
The output field is a new unstructured mesh of cell type Polyline that represents the streamlines. Its new Node_Data contains the selected element's velocity component. The output also contains a reference to the input field's xform.
out_obj
This is a renderable version of the output field.
Algorithm

The streamlines are calculated using the Runge-Kutta method of specified order with adaptive time steps.

Example

Libraries.Examples.Visualization.Stream
examples/stream.v

File

v/modules.v

See also

Related modules

Section 5.2, advector  [page 5-6]
5.96 stream_multi_block
Synopsis

create streamlines and stream ribbons for a Multi_Block object

Input Ports
in_field
Multi_Block
in_probe
Plane_Mesh
parent
UIconnection

Output Ports
out_fld
Mesh+Cell_Data
out_obj
output renderable object

Description

stream_multi_block creates streamlines and stream ribbons for a Multi_Block object.

Input Ports
multi_block
Multi_Block. The input multiblock dataset.
in_probe
Plane_Mesh. Streamlines start at each node of this mesh.
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.
Parameters
Direction
UIradioBoxLabel. When on (nonzero), streamlines are advected forward, in the downstream direction of the flow. When off (zero), they are advected backward, upstream in the flow. The default is forward.
nsegments
UIslider. The number of integration steps used per grid cell to compute the streamline path. The default is 2.
max segments
UIslider. Maximum number of integration steps to take for an individual streamline. A streamline is terminated either when it leaves the dataset, when the absolute value of its velocity is less than the min_velocity parameter, or when it exceeds this number of integration steps.
order
UIslider. Integration order for the streamline advection. Higher orders are more accurate but execute more slowly. The default is 2, for second-order integration. The range is from 1 to 4.
min_velocity
UIslider. If the absolute value of the velocity is less than this limit, the streamline advection is terminated. This is usually used to avoid wasting computation on streamlines which are barely moving. Velocity is measured in the coordinate system of the dataset. The default is 0.000001.
Color
UItoggle. When on (nonzero), color the streamlines by velocity. When off (zero), do not color the streamlines. Default is on.
Ribbons
UItoggle. When on (nonzero), stream_multi_block produces stream ribbons rather than streamlines. The width of the ribbons varies along the length with the divergence of the field, and the angle varies with the curl.
ribbon width
UIslider. This value scales the width of the ribbons when Ribbons are turned on.
ribbon angle
UIslider. This value sets the initial angle at which the ribbons are drawn. The ribbons twist along their length according to the curl of the field.
Output Ports
out_fld
Mesh+Node_Data. Field containing the streamlines.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Multi_Block
examples/mblock.v

File

v/modules.v

See also
Section 5.42, fields_to_mblock  [page 5-100]
Section 5.120, *_ARR (multiblock modules)  [page 5-297]
5.97 surf_optimize
Synopsis

produce an optimized (in terms of biggest possible triangles) triangular mesh from a 2D uniform elevation data field

Input Ports
in_field
Mesh_Unif+Dim2+Node_Data
ui_parent
user interface parent object

Parameters
tolerance
UIslider
the maximum allowed deviation of the resulting triangular mesh

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

The surf_optimize module is used to optimize 2D uniform meshes with a scalar node data component. The node data is assumed to be an elevation (height) at each grid point. This type of mesh is typically used in GIS applications where it is called a Digital Elevation Model (DEM). To find out more about AVS/Express GIS functionality, see Chapter 6, Geographic Information System (GIS) Components.

The module creates a mesh containing "optimum" triangles. In this usage, the term "optimum" means that the largest possible triangles that satisfy a specified tolerance criteria are met. The tolerance determines the maximum difference of elevations between any point in the output triangular mesh and the corresponding point of the input mesh. That is, the output surface of the elevation lies within the specified tolerance from original surface of elevation.

This module is used to create a coarse mesh in the regions where the surface of elevation changes gradually and a fine mesh in the regions where the surface changes rapidly. Increasing the tolerance results in a less accurate mesh containing fewer triangles and thus leads to a corresponding improvement in rendering performance. The surf_optimize module does not produce the elevation surface itself, it just creates a flat triangular mesh that can be extruded into a surface of elevation produced using the surf_plot module (see page 5-240). The algorithm used in this module is described in: Automatic Generation of Triangular Irregular Networks using Greedy Cuts by Claudio T. Silva, Joseph S. B. Mitchell and Arie Kaufman, Visualization 95 Proceedings.

Input Ports
in_field
The input must contain a 2D uniform mesh with a scalar node data.
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
tolerance
UIslider. A float slider to adjust the accuracy of the output mesh and the number of triangles generated. Increasing tolerance results in a less accurate mesh containing fewer triangles and thus leads to a corresponding improvement in rendering performance. The default is 10% of the difference between the max and min elevation values.
Output Ports
out_fld
The output field contains a triangular mesh with a elevation node data.
out_obj
A renderable version of the output field.
Example

Libraries.Examples.Visualization.Surface_Optimize
examples/surf_opt.v

File

v/modules.v

See also

Related modules:

Section 5.98, surf_plot  [page 5-240]

5.98 surf_plot
Synopsis

produce a 3D or 2D surface by extruding 2D|1D mesh according to data values

Input Ports
in_field
1D|2D any mesh + Node_Data
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
scalar component to be used as additional dimension
scale
UIslider
scale for additional dimension
offset
UIslider
moves surface parallel to itself

Output Ports
out_fld
2D|3D same mesh + Node_Data
out_obj
output renderable object

Description

surf_plot creates a 3D or 2D mesh whose height at each point is proportional to the scalar data value at that node location in the original field. 2D input produces a 3D mesh. 1D input produces a 2D output.

Input Ports
in_field
The input is a field of any mesh type and any Node_Data. The field's mesh must have nspace=1 or 2. However, no checking is done to enforce this restriction. (Inputting an nspace=3 mesh will not generate a picture.) The Node_Data must contain at least one scalar component.
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
data component
UIradioBoxLabel. Radio buttons to pick which of the input's data components to use to set the mesh height. The default is the first (0th) component. You must select a scalar component. If node data labels are present, they are displayed.
scale
UIslider. A float slider to scale the height (scale*component values). The default is 1.0. The range is -10.0 to 10.0.
offset
UIslider. A float slider that raises or lowers the resulting mesh with respect to the input mesh. The default is 0.0. The range is unbounded.
Output Ports
out_fld
The output is a mesh of the same type as the input mesh, with nspace+1, whose coordinate values represent the projected, scaled, and offset surface. Its Node_Data contains the data in the selected component.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Surf_plot
examples/splot.v

File

v/modules.v

See also

Not applicable.

5.99 table_to_scattered_field
Synopsis

maps the data in an array of DBcolumn to a scattered field.

Input Ports
columns[]
array of DBcolumn
parent
UIconnection

Parameters
X Axis
UIoptionMenu
selects a column for the field's X axis
On
UItoggle
if set, use the X axis
Y Axis
UIoptionMenu
selects a column for the field's Y axis
On
UItoggle
if set, use the Y axis
Z Axis
UIoptionMenu
selects a column for the field's Z axis
On
UItoggle
if set, use the Z axis
Axis Setup
UIoptionMenu
selects a column whose axis parameter is to be set
Discrete
UItoggle
toggles the column between discrete and continuous coordinates
Field Data
UIoptionBox
selects columns for field node data
Data Setup
UIoptionMenu
selects a column whose data parameter is to be set
sphere radius
UItoggle
if set, treats node data as a sphere radius

Output Ports
out_fld
Mesh_Unif+Node_Data
out_obj
DefaultObject
x_name
string
y_name
string
z_name
string

Description

Table_to_Scattered_Field maps the data in an array of DBcolumn to a 1D, 2D, or 3D scattered field (an unstructured field that can store scattered data). The data to be mapped is usually query data returned by DBquery or Query.

You typically use scattered fields to represent sparse data, whose columns have many missing values, or nonconnected data, in which there are no internal logical connections between database records. When mapping query data to a scattered field, each record is viewed as a separate point that may have several data values associated with it.

You can visualize scattered field data directly using glyph modules. Alternatively, you can map it to the an unstructured field type using a triangulation process (or, in 3D, a tetrahedration process). After mapping it, you can apply most AVS/Express visualization techniques to the results; for example, isosurface, slice, or surface_plot. This type of visualization is suitable mainly for cluster analysis.

Table_to_Scattered_Field provides a number of parameter values that control various aspects of the mapping.

Axis parameters

You use the X Axis, Y Axis, and Z Axis selection menus to select one, two, or three columns that will serve as the coordinate axes of the resulting scattered field. The number of spatial dimensions in the output field will be one, two, or three, respectively. You use the On toggle associated with each menu to turn the corresponding axis on.

You use the Axis Setup menu to specify a column whose axis parameter you want to set. This parameter value is used when you select the column as a coordinate axis. The Discrete parameter is available. It specifies whether the coordinates along an axis are discrete or continuous.

Discrete coordinates are particularly useful with numeric data such as area codes or with string values. For example, if the column contains the string values "John", "Bob", "Bob", "John", "Bill", the coordinates are 0, 1, 1, 0, and 2, where 0 represents "John", 1 represents "Bob", and 2 represents "Bill".
Note: Continuous coordinates cannot be used with string values.
Data parameters

You use the Field Data selection menu to select the columns that will become data components in the resulting scattered field. You use Data Setup to specify a column whose data parameter you want to set. This parameter value is used when you select the column using Field Data.

The data parameter sphere radius is available. Selecting sphere radius for a particular column puts its data components into a field with a special ID. When visualized, the renderer treats this data as sphere radii.

Input Ports
columns[]
An array of type DBcolumn that contains the query data returned by a SELECT statement. This is the output of a DBquery module or Query macro.
parent
The UI parent, of type UIconnection.
Parameters
X Axis
A menu from which you can choose the name of a column that will serve as the X coordinate axis. The possible values are the names of the columns in the columns[] input por
On
A toggle, located to the right of the X Axis menu, that turns on or off the X coordinate axis. The default is on.
Y Axis
A menu from which you can choose the name of a column that will serve as the Y coordinate axis. The possible values are the names of the columns in the columns[] input port.
On
A toggle, located to the right of the Y Axis menu, that turns on or off the X coordinate axis. The default is off.
Z Axis
A menu from which you can choose the name of a column that will serve as the Z coordinate axis. The possible values are the names of the columns in the columns[] input port.
On
A toggle, located to the right of the Z Axis menu, that turns on or off the X coordinate axis. The default is off.
Axis Setup
A menu from which you can choose the name of a column whose axis parameter you want to set. This parameter value is used when you select the column as a coordinate axis.The possible values are the names of the columns in the columns[] input port.
Discrete
A toggle that specifies whether to use discrete or continuous coordinates on the axes. If selected (the default), discrete coordinates are used, otherwise continuous coordinates are used.
Note: Continuous coordinates cannot be used with string values.
Field Data
A menu from which you can choose the columns that will become data components in the output scattered field. The first possible value is Count Records (see next parameter description); the other possible values are the names of the columns in the columns[] input port.
Data Setup
A menu from which you can choose the name of a column whose field data parameter you want to set. This parameter value is used when you select the column using Field Data. The possible values are the names of the columns in the columns[] input port.
sphere radius
A toggle that specifies whether the data in a column should be treated as sphere radii. If selected (the default), the data values in the column specified with Data Setup are put into a field with a special ID, and when visualized, the renderer treats the data as sphere radii.
Output Ports
out_fld
A scattered field with its data.
out_obj
A renderable field.
x_name
The name of the column selected as the X coordinate axis.
y_name
The name of the column selected as the Y coordinate axis.
z_name
The name of the column selected as the Z coordinate axis.
File

v/db.v

See also
Section 5.73, Read_Column_File  [page 5-174]
Section 5.100, table_to_uniform_field  [page 5-247]
5.100 table_to_uniform_field
Synopsis

maps the data in an array of DBcolumn to a uniform field.

Input Ports
columns[]
array of DBcolumn
parent
UIconnection

Parameters

X Axis
UIoptionMenu
selects a column for the field's X axis
On
UItoggle
if set, use the X axis
Y Axis
UIoptionMenu
selects a column for the field's Y axis
On
UItoggle
if set, use the Y axis
Z Axis
UIoptionMenu
selects a column for the field's Z axis
On
UItoggle
if set, use the Z axis
Axis Setup
UIoptionMenu
selects a column whose axis parameters are to be set
Discrete
UItoggle
toggles the column between discrete and continuous values
Min value
UIfield
minimum value for coordinates
Max value
UIfield
maximum value for coordinates
Bin size
UIfield
size of the bin
normalize axis
UItoggle
if set, normalizes coordinates to the [0, 1] range
set labels
UItoggle
if set, creates labels for the axis
index labels
UItoggle
if set, uses indices instead of values for labels
label step
UIslider
number to skip for labels
Field Data
UIoptionBox
selects columns for field node data
Count Records
UItoggle
if set, counts the number of values in a bin
Data Setup
UIoptionMenu
selects a column whose data parameters are to be set
sum
UIradioBox
sums the data in each bin
average
UIradioBox
averages the data in each bin

Output Ports
out_fld
Mesh_Unif+Node_Data
out_obj
DefaultObject
axis_labels
group
x_name
string
y_name
string
z_name
string

Description

Table_to_Uniform_Field maps the data in an array of DBcolumn to a 1D, 2D, or 3D uniform field. The data to be mapped is usually query data returned by DBquery or Query.

You typically use uniform fields to represent regular data whose records form continuous 1D, 2D, or 3D uniformly spaced arrays. You can visualize a uniform field in many ways; for example, city_plot, ribbon_plot, surface_plot, contour, isosurface, or isoline.

Table_to_Uniform_Field provides a number of parameter values that control various aspects of the mapping.

Axis parameters

You use the X Axis, Y Axis, and Z Axis selection menus to select one, two, or three columns that will serve as the coordinate axes of the resulting uniform field. The number of dimensions in the output field will be one, two, or three, respectively. You use the On toggle associated with each menu to turn on the corresponding axis.

You use the Axis Setup menu to specify a column whose axis parameters you want to set. These parameter values are used when you select the column as a coordinate axis. The following axis parameters are available:

The Discrete parameter specifies whether the coordinates along an axis are discrete or continuous.

Discrete coordinates are particularly useful with numeric data such as area codes or with string values. For example, if a column contains the string values "John", "Bob", "Bob", "John", "Bill", the coordinates are 0, 1, and 2, where 0 is the index of "John", 1 is the index of "Bob", and 2 is the index of "Bill".
With discrete coordinates, the dimensionality of the coordinate array is always the number of unique values in the column.
Suppose that the values of Min value, Max value, and Bin size are 0.00, 4.00, and 1.00, respectively. The following figure illustrates how the coordinates are calculated:


With parameter values as noted, there are four bins from Min value to Max value, and the coordinates are 0.50, 1.50, 2.50, and 3.50.
With continuous coordinates, the data values input to Table_to_Uniform_Field are binned; that is, they are put into the bins thus created. Data values that fall on a bin boundary are put into the immediately lower bin. In the previous figure, for example, a data value of 2.00 is put into the bin whose coordinate is 1.50. The data values in each bin are the sum or average of all of the values that fall into the bin, as specified with the field data parameters sum and average.
Note: Continuous coordinates cannot be used with string values.

You can normalize the value of both discrete and continuous coordinates to the range [0,1] by setting the normalize axis toggle to on.

You can use the set label toggle to cause Table_to_Uniform_Field to output a string of labels that can be used by Axis modules.

The index labels toggle produces labels that are indices of coordinates rather than real numbers. This is useful when binning data. For example, when binning days into months, the axis labels should reflect the indices of the bins (month) rather than original values (days).

The label step slider bar allows you to control the frequency with which labels are applied to the coordinates on an axis. For example, if you select 3, a label is applied to every third coordinate.

Data parameters

You use the Field Data selection menu to select the columns that will become node data components in the resulting uniform field.

Optionally, you can use the Count Records toggle in the Field Data menu to count the number of values in a bin. If you select Count Records, the first data component of the field is a value that represents the number of records in each bin. As noted previously, for the rest of the columns, the data values in each bin are the sum or average of all of the values that fall into the bin, as specified with the field data parameters sum and average.

You use the Data Setup menu to specify a column whose data parameters you want to set. These parameter values are used when you select the column using Field Data. The data parameters sum and average are available as items in a radio box: sum causes the data in each bin to be summed, while average causes the data to be averaged.

Input Ports
columns[]
An array of type DBcolumn that contains the query data returned by a SELECT statement. This is the output of a DBquery module or Query macro.
parent
The UI parent, of type UIconnection.
Parameters
X Axis
A menu from which you can choose the name of a column that will serve as the X coordinate axis. The possible values are the names of the columns in the columns[] input port.
On
A toggle, located to the right of the X Axis menu, that turns on or off the X coordinate axis. The default is on.
Y Axis
A menu from which you can choose the name of a column that will serve as the Y coordinate axis. The possible values are the names of the columns in the columns[] input port.
On
A toggle, located to the right of the Y Axis menu, that turns on or off the X coordinate axis. The default is off.
Z Axis
A menu from which you can choose the name of a column that will serve as the Z coordinate axis. The possible values are the names of the columns in the columns[] input port.
On
A toggle, located to the right of the Z Axis menu, that turns on or off the X coordinate axis. The default is off.
Axis Setup
A menu from which you can choose the name of a column whose axis parameters you want to set. These parameter values are used when you select the column as a coordinate axis.The possible values are the names of the columns in the columns[] input port.
Discrete
A toggle that specifies whether to use discrete or continuous coordinates on the axes. If selected (the default), discrete coordinates are used, otherwise continuous coordinates are used.
Note: Continuous coordinates cannot be used with string values.
Min value
For continuous coordinates, a field in which you specify a floating-point value that specifies the lowest value used in calculating coordinates. The default is the lowest data value in the column. Min value should be less than Max value.
Max value
For continuous coordinates, a field in which you specify a floating-point value that specifies the highest value used in calculating coordinates. The default is the highest data value in the column. Max value should be greater than Min value.
Bin size
For continuous coordinates, a field in which you specify a floating-point value that specifies the size of the bins into which the axis is divided. The default is 1.00.
normalize axis
A toggle that specifies whether to normalize the value of coordinates to the range [0, 1]. If selected (the default), the values are normalized.
set labels
A toggle that causes Table_to_Uniform_Field to output an array of label strings that can be used by Axis modules. If selected (the default), the labels are produced.
index labels
A toggle that produces labels that are indices of coordinates rather than real numbers. If selected (the default), the labels are produced.
This parameter is relevant only if you have also selected set labels.
label step
A slider bar that specifies the frequency with which labels are applied to the coordinates on an axis. For a value of n, a label is applied to every nth coordinate.
This parameter is relevant only if you have also selected set labels.
Field Data
A menu from which you can choose the columns that will become data components in the output uniform field. The first possible value is Count Records (see next parameter description); the other possible values are the names of the columns in the columns[] input port.
Count Records
A toggle that causes the module to count the number of values in a bin. If selected (the default), the following happens:
Data Setup
A menu from which you can choose the name of a column whose field data parameters (sum and average) you want to set. These parameter values are used when you select the column using Field Data.The possible values are the names of the columns in the columns[] input port.
sum average
Radio box items that specify how the data values in a bin are calculated. When you select sum (the default), the values are summed; otherwise the values are averaged. These parameters are mutually exclusive.
Output Ports
out_fld
A uniform field with its data.
out_obj
A renderable field.
axis_labels
Labels for the X, Y, and Z axes.
x_name
The name of the column selected as the X coordinate axis.
y_name
The name of the column selected as the Y coordinate axis.
z_name
The name of the column selected as the Z coordinate axis.
File

v/db.v

See also
Section 5.73, Read_Column_File  [page 5-174]
Section 5.99, table_to_scattered_field  [page 5-242]
5.101 text_glyph
Synopsis

display a text string at the coordinates in the input mesh

Input Ports
in_mesh
Mesh
in_text
array of strings

Output Ports
out_obj
DefaultObject

Description

text_glyph takes a Mesh and an array of strings and displays a string at each coordinate in the Mesh.

Input Ports
in_mesh
The input field. The coordinates in the field are used as position at which to display the text strings.
in_text
The input array of strings. A string is displayed at each coordinate in the input mesh. If not enough strings exist, the module cycles through the array of strings.
Output Ports
out_obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Text_Glyph

File

v/modules.v

See also

Related modules

Section 5.45, glyph  [page 5-105]
5.102 texture_mesh
Synopsis

map an image onto a surface, using UV coordinates generated from the surface XY coordinates

Input Ports
in_field
Mesh
texture
Field_Unif+Dim2+Space2+Byte
ui_parent
user interface parent object

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

texture_mesh uses the texture facility of the viewer to map an image onto a surface. The texture is applied using the (X,Y) coordinates of the mesh, so that the whole image is mapped to the (X,Y) range of the mesh. By default, the lower left of the texture is applied and xmin, ymin, and the upper right is applied at xmax, ymax. See the parameters for how to change this.

Input Ports
in_field
Field. The mesh to texture.
texture
Field_Unif+Dim2+Space2. The image to texture onto in_field.
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
switch uv
UItoggle. Switch U and V (or X and Y) when generating the texture coordinates.
flip u
UItoggle. Flip U so that the texture is applied backwards in X.
flip v
UItoggle. Flip V so that the texture is applied backwards in Y.
u scale
UIslider. Scale U by this amount. The larger this value, the less space taken by the texture in X. Decreasing this value stretches the texture, increasing it compresses the texture.
v scale
UIslider. Scale V by this amount. The larger this value, the less space taken by the texture in Y. Decreasing this value stretches the texture, increasing it compresses the texture.
u shift
UIslider. Shift U by this amount. Positive shift shifts the texture to the left, negative shifts to the right.
v shift
UIslider. Scale V by this amount. Positive shift shifts the texture down, negative shifts up.
Output Ports
out_fld
Mesh+Node_Data. Contains the input mesh with the texture applied.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Texture_Mesh
examples/txt_mesh.v

File

v/modules.v

See also

Related modules

Section 5.49, interp_data  [page 5-114]
5.103 texture_sphere
Synopsis

create a spher and map an image onto it

Input Ports
texture
Field_Unif+Dim2+Space2+Byte
ui_parent
user interface parent object

Output Ports
out_fld
Mesh+Node_Data
out_obj
output renderable object

Description

texture_sphere creates a sphere (or part of a sphere) with specified parameters and uses the texture facility of the viewer to map an image onto it.

Input Ports
texture
Field_Unif+Dim2+Space2. The image to texture onto in_field.
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
longitude dimension
UIslider. Number of sub-divisions for sphere in the longitude direction. Default is 24.
latitude dimension
UIslider. Number of sub-divisions for sphere in the latitude direction. Default is 24.
Radius
UIfield. Radius of a sphere, default is 6378000 (Earth).
Western Long
UIdial. Longitude in degrees of the begining of sphere segment. Default is 0.
Eastern Long
UIdial. Longitude in degrees of the end of sphere segment. Default is 360.
Southern Lat
UIdial. Latitude in degrees of the begining of sphere segment. Default is -90.
Northern Lat
UIdial. Latitude in degrees of the end of sphere segment. Default is 90.
Output Ports
out_fld
Mesh+Node_Data. Contains the spherical mesh with the texture applied.
out_obj
Renderable object corresponding to out_fld.
Example

Libraries.Examples.Visualization.Texture_Sphere
examples/txt_sphr.v

File

v/modules.v

See also

Related modules

Section 5.102, texture_mesh  [page 5-256]
5.104 threshold_cell
Synopsis

threshold cell-based data

Input Ports
in_field
Mesh+Cell_Data
parent
user interface parent object

Output Ports
out_fld
Mesh+Cell_Data
out_obj
output renderable object

Description

threshold_cell sets the values of a given component of a cell-based dataset to the null value if the value of another component (usually the same one) is above or below a given threshold.

Input Ports
in_field
Mesh+Cell_Data. The cell dataset to threshold.
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
check component
UIradioBoxLabel. Selects which component to check. If this component exceeds the threshold(s) at some node, the value of the threshold_component at that node is set to the null data value.
threshold component
UIradioBoxLabel. Selects which component to threshold, based on the value of "check component."
Below min value
UItoggle. When set (nonzero), values below the selected min value are set to the null value.
min value
UIslider. The min value to check against.
Above max value
UItoggle. When set (nonzero), values above the selected max value are set to the null value.
max value
UIslider. The max value to check against.
null thresh value
UIslider. The value to use in the output as the null value. Select a value for this which does not occur in the input dataset.
Output Ports
out_fld
Mesh+Cell_Data. Contains the thresholded data.
out_obj
Renderable object corresponding to out_fld.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.106, threshold  [page 5-264]
5.105 thresh_null
Synopsis

remove cells with nodes that contain NULL data from input field

Input Ports
in_field
Mesh + Node_Data
ui_parent
user interface parent object

Parameters
thresh data
UIradioBoxLabel
selects data component to remove NULL cells

Output Ports
out_fld
Mesh + Node_Data
out_obj
output renderable object

Description

thresh_null removes cells where the selected component's node data is NULL. While the renderer automatically deletes NULL data cells, it must do so every time the object is transformed. You can remove this overhead using thresh_null as a data "preprocessor."

Input Ports
in_field
The input field must contain any mesh and Node_Data.
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
thresh data
UIradioBoxLabel. Radio buttons to pick which component to use during the search for NULL data. The component can be scalar or vector. The default is the first (0th) component. If node data labels are present, they are displayed.
Output Ports
out_fld
The output is a field with a new, reconstructed unstructured mesh. Its new Node_Data contains all data that is not from a deleted cell.
out_obj
This is a renderable version of the output field.
Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.87, set_null  [page 5-217]
5.106 threshold
Synopsis

remove data below and/or above min/max threshold level by setting to NULL

Input Ports
in_field
Node_Data
ui_parent
user interface parent object

Parameters
check component
UIradioBoxLabel
select component to test
threshold component
UIradioBoxLabel
select component to threshold
Above max_ value
UItoggle
set all above max value to null value
Below min_ value
UItoggle
set all below min value to null value
min check value
UIslider
lower threshold level
max check value
UIslider
upper threshold level
null thresh value
UIslider
value of NULL data

Output Ports
out_fld
Node_Data
out_obj
output renderable object

Description

threshold transforms the values of the selected field component, effectively "removing" them from the field. You can use threshold in two ways.

1. It can look at the values in just one component and set them to null_value if they exceed max check value or min check value (threshold component = check component). This is its most common use.
2. It can look at the values in one scalar component (check component) to see if they exceed max check value or min check value. If they do exceed the threshold bounds, it sets the corresponding array index value in a second, different component (threshold component) to null_value (threshold component not equal check component).
This second behavior is useful if you use one component to flag the visibility of a node (for example, 0 = invisible, 1 = visible) in another component.

threshold's procedure is:

If threshold component and check component point to the same component, the effect is simpler. Any value above max check value in that component is set to null thresh value.
If threshold component and check component point to the same component, the effect is simpler. Any value below min check value in that component is set to null thresh value.

Note the difference between threshold and the clamp macro:

Input Ports
in_field
The input field need only contain Node_Data of any type. If a mesh is present, it is passed through unchanged to the output field as a reference.
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
check component
UIradioBoxLabel. Radio buttons that pick which of the input's components to apply the Above max_value, Below min_value, min check value, max check value tests. In almost all cases, you want check component = threshold component.
If check component is not the same as threshold component, nothing changes in this component in the output. Rather, the out-of-bounds values are set to null in threshold component.
The selected component should be scalar. If it is vector, only the first subcomponent is tested.
The default is the first (0th) component.
threshold component
UIradioBoxLabel. Radio buttons to pick which of the input's components to threshold. The selected component can be scalar or vector. The default is the first (0th) component. If node data labels are present, they are displayed.
Above max_value
UItoggle that, when on, thresholds data above the max value. The default is off.
Below min_value
UItoggle that, when on, thresholds data below the min value. The default is on.
min check value
max check value
UIsliders. Double precision floating point sliders that set the minimum and maximum values. The default is set to the input field component's node data minimum and maximum. The range shown is from the component's node data minimum to its maximum. The double precision value is converted to the data type of the input field before use. Two decimal points of precision are given.
null thresh value
UIslider. A float slider. Establishes what the null_value is. The default is 0.0. The range is the minimum and maximum data values of the selected component. The value specified converts to the data type of the field before use.
Output Ports
out_fld
The output field contains only the selected, threshold component Node_Data component. If a mesh was present, the output field contains a reference to that mesh.
out_obj
If a mesh was present, this is a renderable version of the output field. Otherwise, rendering objects generate an error.
Example

Libraries.Examples.Visualization.Threshold
examples/thresh.v

File

v/modules.v

See also

Related modules

Section 5.9, clamp  [page 5-27]
Section 5.87, set_null  [page 5-217]
5.107 tile_ROIs
Synopsis

create a tiled display from an array of meshes

Input Ports
MeshIn
MeshArray

Parameters
Start
UIslider
start index into volume
Width
UIslider
width of tiled display
Height
UIslider
height of tiled display
Border Width
UIslider
width of border around each tile
Orientation
UIradioBox
display orientation of tiles
Transform Mode
UIradioBox
tile transform mode

Output Ports
obj
DefaultObject

Description

tile_ROIs is used to an display array of meshes in a gridded manner.

Input Ports
MeshIn
The input array of meshes. Width times Height slices are taken from the mesh array starting at the Start slice and displayed as a set of tiles.
Parameters
Start
UIslider. The start slice in the mesh array to begin the tiled display.
Width
UIslider. The number of tiles to display along the X axis.
Height
UIslider. The number of tiles to display along the Y axis.
Border Width
UIslider. The width of the border around each tile. The width is applied to both the left and right side of the each tile and the top and bottom of each tile.
Orientation
UIradioBox. This parameter specifies the position of the start slice and the direction to display the slices in - either row major or column major. Valid values are:
Transform Mode
UIradioBox. This parameter specifies how transformations are to be applied to the tiled display. A value of 0 means that the tiled display is to be treated as a single image and transformed as such. A value of 1 means that the tiles are to be treated as separate images and that the transformation is to be applied within each tile's container.
Container Mode
UItoggle. This parameter controls the tile extents and the format of tiles within those extents. A value of 0 means the extents are set to enclose the tiles exactly. A value of 1 means the extents are expanded to be square and the tiles placed within the extents such they are centered within the expanded area.
Output Ports
obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Tile_ROI

File

v/modules.v

See also

Related modules

Section 5.108, tile_volume  [page 5-270]
Section 5.109, tile_volume_ROIs  [page 5-272]
5.108 tile_volume
Synopsis

create a tiled display from a volume

Input Ports
FieldIn
Mesh_Unif+Node_Data+Dim3

Parameters
Start
UIslider
start index into volume
Width
UIslider
width of tiled display
Height
UIslider
height of tiled display
Border Width
UIslider
width of border around each tile
Orientation
UIradioBox
display orientation of tiles
Transform Mode
UIradioBox
tile transform mode

Output Ports
obj
DefaultObject

Description

tile_volume is used to a display slices from a volume in a gridded manner.

Input Ports
FieldIn
The input field must be uniform, 3D and have node data. Width times Height slices are taken from the volume starting at the Start slice and displayed as a set of tiles.
Parameters
Start
UIslider. The start slice in the volume to begin the tiled display.
Width
UIslider. The number of tiles to display along the X axis.
Height
UIslider. The number of tiles to display along the Y axis.
Border Width
UIslider. The width of the border around each tile. The width is applied to both the left and right side of the each tile and the top and bottom of each tile.
Orientation
UIradioBox. This parameter specifies the position of the start slice and the direction to display the slices in - either row major or column major. Valid values are:
Transform Mode
UIradioBox. This parameter specifies how transformations are to be applied to the tiled display. A value of 0 means that the tiled display is to be treated as a single image and transformed as such. A value of 1 means that the tiles are to be treated as separate images and that the transformation is to be applied within each tile's container.
Container Mode
UItoggle. This parameter controls the tile extents and the format of tiles within those extents. A value of 0 means the extents are set to enclose the tiles exactly. A value of 1 means the extents are expanded to be square and the tiles placed within the extents such they are centered within the expanded area.
Output Ports
obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Tile_Volume

File

v/modules.v

See also

Related modules

Section 5.107, tile_ROIs  [page 5-268]
Section 5.109, tile_volume_ROIs  [page 5-272]
5.109 tile_volume_ROIs
Synopsis

create a tiled display from a volume and an array of meshes

Input Ports
FieldIn
Mesh_Unif+Node_Data+Dim3
MeshArray
MeshArray

Parameters
Start
UIslider
start index into volume
Width
UIslider
width of tiled display
Height
UIslider
height of tiled display
Border Width
UIslider
width of border around each tile
Orientation
UIradioBox
display orientation of tiles
Transform Mode
UIradioBox
tile transform mode

Output Ports
obj
DefaultObject

Description

tile_ROIs is used to display a volume and an array of meshes in a gridded manner.

Input Ports
FieldIn
The input field must be uniform, 3D and have node data. Width times Height slices are taken from the volume starting at the Start slice and displayed as a set of tiles.
MeshArray
The input array of meshes. Width times Height slices are taken from the mesh array starting at the Start slice and displayed as a set of tiles.
Parameters
Start
UIslider. The start slice in the volume and array of meshes to begin the tiled display.
Width
UIslider. The number of tiles to display along the X axis.
Height
UIslider. The number of tiles to display along the Y axis.
Border Width
UIslider. The width of the border around each tile. The width is applied to both the left and right side of the each tile and the top and bottom of each tile.
Orientation
UIradioBox. This parameter specifies the position of the start slice and the direction to display the slices in - either row major or column major. Valid values are:
Transform Mode
UIradioBox. This parameter specifies how transformations are to be applied to the tiled display. A value of 0 means that the tiled display is to be treated as a single image and transformed as such. A value of 1 means that the tiles are to be treated as separate images and that the transformation is to be applied within each tile's container.
Container Mode
UItoggle. This parameter controls the tile extents and the format of tiles within those extents. A value of 0 means the extents are set to enclose the tiles exactly. A value of 1 means the extents are expanded to be square and the tiles placed within the extents such they are centered within the expanded area.
Output Ports
obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Tile_Volume_ROI

File

v/modules.v

See also

Related modules

Section 5.107, tile_ROIs  [page 5-268]
Section 5.108, tile_volume  [page 5-270]
5.110 uniform_mesh, rect_mesh, struct_mesh
Synopsis

mesh mappers that create meshes from dimensions and coordinates

Input Ports
in_dims
int[]
dimensions of mesh
in_points
float[sum(dims)][nspace]
points (rect only)
in_coord
float[prod(dims)][nspace]
coordinates (struct only)

Output Ports
out
Mesh
obj
output renderable object

Description

Each of these macros creates a mesh from arrays containing the dimensions, and optionally, the locations of the nodes in space. These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. Usually the output of one of these macros is merged, using combine_mesh_data, with the output of one of the data mapper macros to create a field.

uniform_mesh generates an N-dimensional uniform mesh, where N is the size of the input dimensions array, in_in_dims. The mesh has prod(in_dims) nodes. in_dims[0] is the number of nodes along the X axis, in_dims[1] is the number of nodes along the Y axis, and so on. The coordinate extents of the resulting mesh will be (0,in_dims[0]-1) in the X direction, (0,in_dims[1]-1) in the Y direction, and so on

rect_mesh generates an N-dimensional rectilinear mesh. It is similar to uniform_mesh except that the nodes are not necessarily equally spaced along the coordinate axes. The nodes are, however, aligned parallel to the axes, so the cells are still stretched rectangles or cubes (in the case of a 2D or 3D mesh respectively). The spacing of the nodes along the axes is determined by the in_points array, as described below.

struct_mesh generates an N-dimensional structured mesh. Each node (point) in this mesh can be located anywhere in space. The coordinates of the nodes are described in the in_coord array. The second dimension of this array determines the space of the mesh (typically 2 or 3).

Input Ports
in_dims
int[]. Describes the dimensions of the mesh. For example, in_dims={3,4} creates a 2D mesh with 3 nodes in X and 4 nodes in Y. Note that this does not necessarily specify the number of spatial dimensions in which the grid lives; it only sets the number of computational dimensions, or the number of indices needed to describe the location of a point in the mesh. The number of spatial dimensions is set by nspace, which by default is connected to the second dimension of the in_coord array. It must always be equal to or greater than the number of computational dimensions, since the computational grid is embedded in the space.
in_points
float[sum(in_dims)][nspace]. Used only for rect_mesh. Describes the spacing along each axis of the nodes in a rectilinear mesh. This is a list of points in space, where the points along the X axis are listed first, then points along the Y axis, and so on.
For example, in the in_dims={3,4} case described above
in_points={
{4,1}, {8,1}, {16,1},
{1,1}, {1,2}, {1,3}, {1,4}
}

describes a log-spaced three-element X axis with nodes at 4, 8, and 16, and a linear four-element Y axis with nodes at 1, 2, 3, and 4 in a 2D space. If the desired space (nspace) is 3D but the computational grid is 2D, the Z values of the points must be constant.
in_coords
float[prod(in_dims)][nspace]. Used only for struct_mesh. Describes the location of each node of the mesh in space. nspace (that is, the second dimension of this array), must be greater than or equal to ndims. The order of coordinates in in_coords is associated with the in_dims array.
For example, in the in_dims={3,4} case described above, the coordinates must be provided in the following order:
{0,0},{1,0},{2,0},{0,1},{1,1},{2,1},{0,2},{1,2},...{2,3}
The in_dims array implies connectivity between the coordinates. The first in_dims[0] entries in the coordinates array are considered to be a row of nodes. The next in_dims[0] coordinates are considered to be the next row, connectedto the nodes in the first row, and so on
Parameters

none

Output Ports
out
Mesh. Contains the mesh described by the input arrays.
obj
Renderable object corresponding to out.
Example

Not available.

Libraries.Main.Field_Mappers.Mesh_Mappers.rect_mesh
Libraries.Main.Field_Mappers.Mesh_Mappers.struct_mesh

File

v/fld_map.v

See also

Related information:

For more information about uniform meshes, see Section 2.3.4, Uniform fields  [page 2-14].
For more information about rectilinear meshes, Section 2.3.3, Rectilinear fields  [page 2-12]
For more information about structured meshes, see Section 2.3.2, Structured fields  [page 2-8]

Related modules:

Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]Section 5.12, combine_mesh_data  [page 5-34]
Section 5.12, combine_mesh_data  [page 5-34]
5.111 uniform_scalar_field, uniform_vector_field, image_field, image_field_rgb, image_field_argb, volume_field, rect_scalar_field, rect_vector_field, struct_scalar_field, struct_vector_field
Synopsis

field mappers which generate a field given arrays describing the mesh and data. These macros are simple combinations of other modules. These macros simplify the process of generating field data by reducing the amount of data you must supply to create a field. The inputs and outputs for these macros are documented with the submodules listed here:

 
Scalar
Vector
Uniform
uniform_scalar_field: uniform_mesh + node_scalar
uniform_vector_field: uniform_mesh + node_vector
Rectilinear
rect_scalar_field: rect_mesh + node_scalar
rect_vector_field: rect_mesh + node_vector
Structured
struct_scalar_field: struct_mesh + node_scalar
struct_vector_field: struct_mesh + node_vector
Special
volume: 3D uniform_mesh + node_scalar
image_field: 2D uniform_mesh + node_scalar
image_field_rgb: 2D uniform_mesh + rgb_data
image_field_argb: 2D uniform_mesh + argb_data

File

v/fld_map.v

See also

Related modules

Section 5.110, uniform_mesh, rect_mesh, struct_mesh  [page 5-275]
Section 5.67, point_mesh, line_mesh, line_disjoint_mesh, polyline_mesh  [page 5-156]
Section 5.62, node_scalar, node_vector  [page 5-146]
Section 5.72, radius_data, rgb_data, argb_data, node_colors, node_normals, node_uv, node_uvw, pick_data  [page 5-171]
5.112 vect2rast_vol
Synopsis

create a volume of raster masks from an array of input meshes

Input Ports
FieldIn
Mesh_Unif+Node_Data+Dim3
MeshIn
MeshArray

Parameters
Inside
UItoggle
convert inside or outside of region
Name
UItext
name of regions to process
Run
UItoggle
convert the vector data to raster data

Output Ports
out
Mesh_Unif+Node_Data+Dim3

Description

vect2rast_vol converts an array of input meshes into a series of raster masks - one per input mesh - that are written to an output volume. This process is done one mesh at a time using the GDvector2raster module.

Input Ports
FieldIn
The input field must be uniform, 3D and have node data. This field is used to dimension the output raster information.
MeshIn
The input array of meshes. The meshes are converted from vector information to raster information.
Parameters
Inside
UItoggle. This parameter controls if the area inside or outside of the regions(s) in the input mesh array has a value of 0 or 255 upon conversion from vector to raster.
Name
UItext. An optional string that is used to filter to the region(s) found in the input mesh If the name is null, all regions are processed. If the name has a value, only those regions that have the same name are processed.
Run
UItoggle. When set, Run starts the vector to raster conversion. It is automatically cleared when the conversion is completed.
Output Ports
out
The output field. It has the same dimensions as FieldIn and represents MeshIn in a raster form. This output can be used as input to many of the image processing modules.
Example

Libraries.Examples.Visualization.Vect2Rast_Vol

File

v/modules.v

See also

Related modules

Section 5.109, tile_volume_ROIs  [page 5-272]
Section 5.108, tile_volume  [page 5-270]
5.113 volume_integr
Synopsis

determine the length, area, or volume of an unstructured field

Input Ports
in_field
Mesh
ui_parent
user interface parent object

Parameters
data component
UIradioBoxLabel
component for mass calculation
dimensionality
UIslider
if mixed cells, what to calculate
volume
UIfieldTypein
display volume output
volume integral
UIfieldTypein
display volume integral output

Output Ports
none
Description

volume_integr calculates the length (1D cells), area (2D cells), or volume (3D cells) and mass of an unstructured field and outputs them as two float values.

Input Ports
in_field
The input is a field with an unstructured Mesh. Structured meshes (Mesh_Struct, Mesh_Unif, and so on) are accepted, but volume_integr creates a temporary working version of the mesh by converting it to an unstructured Mesh of cell type Hex.
If only a Mesh is present, only the length, area, or volume is calculated. To calculate mass, a Node_Data must be present, and at least one of its components must be a scalar representing density.
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
data component
UIradioBoxLabel. Radio buttons to pick which component to use as the density when calculating mass. The default is the first (0th) component. If node data labels are present, they are displayed.
dimensionality
UIslider. An integer slider. This value only comes into play if the unstructured mesh contains mixed (1D and 2D, or 2D and 3D) cell types. Then, you must specify whether you want to calculate the length (1) of the 1D cells, the area (2) of the 2D cells, or the volume (3) of the 3D cells. The default is 3.
volume
UIfieldTypein. A float widget that displays the volume of the field.
volume integral
UIfieldTypein. A float widget that displays the volume integral of the field.
Algorithm

The algorithm used to calculate the volume is Gauss-Legendre quadrature (a.k.a. "Gauss sampling points").

Example

Libraries.Examples.Visualization.Volume_Integral
examples/vintgr.v

File

v/modules.v

See also

Not applicable.

5.114 volume_render
Synopsis

directly render a volume

Input Ports
in_mesh
Mesh_Unif+Dim3+Space3+Scalar+Byte

Output Ports
obj
DefaultObject

Description

volume_render directly renders a uniform, 3D, 3-space, scalar, byte volume using either the BTF or Ray-tracer volume rendering modes. The Ray-tracer volume mode, which is configured as the default, is available only in the software renderer. The BTF volume mode is available only in the software renderer. In both cases, when the volume modes are available, mixed rendering of volumes and geometries is supported.

This module is provided as a convenient way to access user interface controls via the Module Panel user interface container for the Graphics Display kit surface and volume modes and the datamap's alpha component. These controls provide quick access to the most commonly used attributes that control the volume_render module.

The volume_render module is also configured with an alternate object whose visibility is disabled. When any object in the view's hierarchy is directly manipulated, the volume will not be rendered.

Input Ports
in
The input field. The input field should be 3D, 3-space, uniform, with byte node data in order for it to be volume rendered.
Parameters
Surface
UIradioBox. This parameter controls the lighting and interpolation performed by the volume rendering technique that has been chosen.
Inherit means that the surface rendering mode is inherited from a parent Graphics Display Kit object. None means that no volume rendering is done.
When the volume mode selected is Ray-tracer, No lighting means that no lighting and no interpolation are done. Flat means that lighting is done but no interpolation is done. Gouraud means that lighting and interpolation are done. These options produce progressively higher quality renderings. The higher quality modes also take longer to render.
When the volume mode selected is BTF, lighting is never applied. No lighting and flat cause point sampling to be done. Gouraud causes bi-linear interpolation to be done.
Volume
UIradioBox. This parameter controls the volume rendering mode.
Inherit means that the volume rendering mode is inherited from a parent Graphics Display Kit object. None means that no volume rendering is done. BTF means that a back-to-front volume rendering technique is used. This technique is available only in the OpenGL renderer. Ray-tracer means that a ray-tracing volume rendering technique is used. This technique is available only in the software renderer.
Current Range
UIslider. The parameter selects the range in the datamap whose alpha component is to be edited. The volume render module has a datamap with two ranges by default.
Range Alpha
UItoggle. This parameter controls if you are allowed to move the midpoint for the two ranges in the datamap.
Range Position
UIslider. This parameter allows the midpoint of the two ranges to be altered. By default, the first range in the datamap spans from the minimum data value to the midpoint. The second range in the datamap spans from the midpoint to the maximum data value. When the Range Alpha toggle is set, this parameter allows you to move the midpoint.
Alpha Range Model
UIradioBox. This parameter controls the type of alpha range model for the current data range. Valid range models are linear and step. When linear is selected, the alpha component is interpolated between the minimum and maximum values specified for the current data range. When step is selected, the minimum alpha value is used for the whole data range.
Minimum Alpha
Maximum Alpha
UIslider. These parameters allow you to control the minimum and maximum alpha values for the current data range.
Output Ports
obj
Graphics Display Kit DefaultObject. This is a renderable object that can be connected directly to one of the Graphics Display Kit's viewers.
Example

Libraries.Examples.Visualization.Volume_Render

File

v/modules.v

See also

Not applicable.

5.115 Write_Image
Synopsis

convert an AVS/Express field to a specified file format and output it to a file

Input Ports
in_field
Mesh_Unif+Dim2+Node_Data+Scalar
ui_parent
user interface parent object

Parameters
Write_Image_Browser
UIfileSB
pick file to output
flip
UItoggle
invert boolean
format
UIradioBox
file format
file type
UIradioBox
binary or ASCII
bits per pixel
UIradioBox
depth of image
color type
UIradioBox
RGB, greyscale, etc
compression type
UIradioBox
file compression to use
reduction type
UIradioBox
color quantization to use

Output Ports
none
Description

Write_Image writes the input image to disk in the specified format.

Input Ports
field
The input is an AVS/Express field. The input must be a Mesh_Unif+Dim2+Node_Data+Scalar. In addition, you must ensure that the scalar component has veclen=4, and that these four subcomponents are ARGB byte values.
Note: Write_Image re-inverts the scan line order before writing the image to disk. This is because Read_Image initially inverts the scan line order so that the image appears right side up in AVS/Express viewers.
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
Write_Image_Browser
UIfileSB. Selects the disk file to write. The default search pattern is
$XP_PATH<0>/data/image/*.
flip
Boolean indicating whether to invert the image about the x axis, that is in the vertical direction.
format
An integer value indicating the file format. The following image formats are currently supported:
WARNING: Use of this software for providing LZW capability for any purpose is not authorized unless user first enters into a license agreement with Unisys under U.S. Patent No. 4,558,302 and foreign counterparts. For information concering licensing, please contact:

Unisys Corporation
Welch Licensing Department - C1SW19
Township Line & Union Meeting Roads
P.O. Box 500
Blue Bell, PA 19422
Once you have entered into such a license agreement with Unisys Corp, runtime generation support for GIF can be enabled in AVS/Express at no additional cost. Contact Advanced Visual Systems customer support for details.
Support for additional image formats can be also provided by creating new writers using available API calls (see Appendix A, Adding your own image readers and writers). To obtain a current list of the supported image types, you can open v/modules.v and search for "Write_Image" - the list can be found in the defined radioBox labels.
filetype
An integer indicating whether the output file should be written in binary or ASCII. This option is only appropriate for certain formats, for example PBM.
bits per pixel
An integer indicating the depth (color resolution) of the image.For many formats this is fixed, for example GIF is always 8, AVS .x always 32
color type
An integer indicating whether separate red, green and blue values, or grey levels, or dithered black and white 2 level values should be written. This option is only appropriate for certain formats, for example GIF.
compressiontype
An integer indicating the type of compression to be used when writing the file. For most formats there is no choice, for example GIF is always written using LZW and AVS .x files are always uncompressed. TIFF, however, can support a number of different compression types.
reductiontype
An integer indicating which method to use when the 8 bit red, green and blue values of the input field have to be reduced ("quantized") to 8 bit colormap indices, for example.
Example

Not available.

Files

v/modules.v
compat/modules/converts/fld2avs.c

See also

Related modules:

Section 5.77, Read_Image  [page 5-195]
Section 5.117, Write_UCD  [page 5-291]
Section 5.118, Write_Volume  [page 5-293]
Section 5.116, Write_netCDF  [page 5-290]

Adding new writable image formats:

Appendix A, Adding your own image readers and writers
5.116 Write_netCDF
Synopsis

write out a dataset to a netCDF file

Input Ports
in
Mesh+Node_Data
parent
user interface parent object

Output Ports
none
Description

Write_netCDF writes any AVS/Express object to a netCDF file, preserving all information about the field.

Input Ports
in
Mesh+Node_Data. Any AVS/Express object.
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
netCDF Filename
UIfileSB. The name of the netCDF file to write.
Output Ports

none

Example

Not available.

File

v/modules.v

See also

Related modules

Section 5.78, Read_netCDF  [page 5-199]
5.117 Write_UCD
Available in Developer Edition Only
Synopsis

convert an AVS/Express field to an AVS UCD (.inp file) and output to a file

Input Ports
in
any unstructured Mesh field
ui_parent
user interface parent object

Parameters
file_name
UIfileSB
pick file to output
File_Format
UIradioBox
use Binary or ASCII

Output Ports
none
Description

Write_UCD first converts an AVS/Express unstructured field into Application Visualization System UCD-format (with ACfld_to_ucd), and then uses ACU_write_ucd to write it to disk in AVS UCD file format (.inp suffix). (ACU_write_ucd is the AVS5 write ucd module.)

The results of the conversion are summarized below.

Input Ports
field
Field. The input is any unstructured AVS/Express field.
All of the data and semantics present in an AVS/Express field are present in the AVS UCD .inp file, except the following:
  • The "mid-edge nodes" in second order cells are not written to the file. (Note that Read_UCD does not read mid-edge nodes either.)
  • Cell_Sets with different Cell_Data components generate an error.
  • Fields with NULL data. The NULL data values are copied to the output data and the null_flag and null_value objects in the input Data_Array are lost. You need to use set_null to turn them back on should you reread the data as an AVS/Express field.
  • Fields whose Node_Data and Cell_Data components are not of type float convert to type float.
Also note that all data related to coordinates are first transformed by the Express field's xform transformation matrix (if present) before they are handed to the object that writes the file to disk. This ensures that the data keeps its correct position in space when reread into AVS/Express.
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
file_name
UIfileSB. Selects the disk file to write. The default search pattern is
$XP_PATH<0>/data/ucd/*.inp.
File_Format
A UIradioBox to pick the format in which the data should be written to disk. The choices are Binary and ASCII. The default is Binary.
Example

Not available.

Files

v/modules.v
compat/modules/converts/fld2ucd.c

See also

Related modules

Section 5.80, Read_UCD  [page 5-202]
Section 5.115, Write_Image  [page 5-287]
Section 5.118, Write_Volume  [page 5-293]
Section 5.116, Write_netCDF  [page 5-290]
5.118 Write_Volume
Available in Developer Edition Only
Synopsis

write an AVS/Express field to an AVS volume (.dat) file

Input Ports
in_field
Mesh_Unif+Dim3+Node_Data+Scalar
ui_parent
user interface parent object

Parameters
Write_Volume_ Browser
UIfileSB
pick file to output

Output Ports
none
Description

Write_Volume writes the input volume to disk in AVS volume file format (.dat suffix).

Input Ports
field
The input is an AVS/Express field. The input is constrained to be a Mesh_Unif+Dim3+Node_Data+Scalar. In addition, you must ensure that the scalar component has veclen=1 and is composed of byte values.
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
Write_Volume_Browser
UIfileSB. Selects the disk file to write. The default search pattern is
$XP_PATH<0>/data/volume/*.dat.
Example

Not available.

Files

v/modules.v
compat/modules/converts/fld2avs.c

See also

Related modules

Section 5.79, Read_Volume  [page 5-200]
Section 5.117, Write_UCD  [page 5-291]
Section 5.115, Write_Image  [page 5-287]
Section 5.116, Write_netCDF  [page 5-290]
5.119 xform_to_plane
Synopsis

set the transformation on a field to be inverse transformation of a plane

Input Ports
in_field
Mesh to be transformed
in_plane
Mesh which transformation is inverted

Parameters
none
Output Ports
out_fld
Mesh
transformed mesh
out_obj
obj
renderable mesh

Description

xform_to_plane sets the transformation of an output mesh to equal that of inverse transformation of another input (in_plane) concatinated with original transformation. It is used when you want, for example, to view a result of arbitrary slicer in "frontal view". In this case you would connect the output of slice module to in_field and the slicing plane to in_plane input. The output of xform_to_plane module will be output of slice transformed into XY palne. It can be viewed in a separate 2D renderer window.

Input Ports
in_field
The input is any mesh. This is the field to transform.
in_plane
The input is any mesh. This mesh's transformation (xform) is used to transform in_field.
Output Ports
out_fld
The output is a reference to an object that is the merge of the input mesh with the new transformation set.
out_obj
This is a renderable version of the output field.
Example

Libraries.Examples.Visualization.Xform_Slice
examples/xfm_slc.v

File

v/modules.v

See also
Section 5.81, reset_xform  [page 5-205]
5.120 *_ARR (multiblock modules)
Synopsis

operate on an array of fields or a multiblock dataset

Description

The *_ARR macros operate on arrays of fields. For the documentation of <X>_ARR, see the documentation for <X>. The ARR macros are derived from their single-field counterparts.

Example

Libraries.Examples.Visualization.Multi_Block
examples/mblock.v

File

v/mods_arr.v

See also

Related modules

For any macro <X>_ARR, see page for <X>.
Section 5.66, Plot3d_Multi_Block  [page 5-154]
Section 5.32, explode_materials  [page 5-83]
Section 5.31, explode_fields  [page 5-81]


TOC PREV NEXT INDEX