JoanArc

Synopsis

Generates a set of sinusoidal polyline arcs connecting arrays of start and end points. The maximum vertical height of each arc is controlled by a third array.

Input Ports

Name Type Description

start float[][3] starting coordinates of arcs
end float[][3] ending coordinates of arcs
vert float[] maximum vertical height of arcs

Parameters

Name Type Description UI Control

nseg int Number of segments to use for each arc

Output Ports

Name Type Description

out_fld Polyline Mesh Generated arcs
out_obj GDobject Directly renderable output object

Description

This module generates arcs (using a sine function) between two sets of start and end points. These points can be anywhere in 3D space. Each arc always describes a vertical path, with the height controlled in the Z axis. Three simple floating point arrays are used as input. These are arrays for the start, end and vertical scale values for each arc. A segment parameter controls how many steps are made to generate each arc. The module generates a polyline cell set that contains all the arcs. This is output both as a Field and as a renderable object.

Inputs

start[n][3]

Floating point array that specifies the starting points for each of the arcs. The starting coordinates must be specified in 3 dimensions.

end[n][3]

Floating point array that specifies the ending points for each of the arcs. The ending coordinates must be specified in 3 dimensions and there should be the same number of ending coordinates as there are starting coordinates.

vert[n]

Floating point array that specifies the vertical scaling factor for each of the arcs. There should be a scaling factor for each pair of staring and ending coordinates.

Parameters

nseg

Integer parameter that specifies the number of segments that should be used for each arc. Each arc must consist of at least 2 segments.

Outputs

out_fld

Output field containing polyline cell sets that represent the generated arcs.

out_obj

The GDobject version of the out_fld output, suitable for direct connection to a viewer.

Utility Macros

The functional macro JoanArcFunc uses the low-level module JoanArcCore. The user macro joan_arc uses this functional macro and the user interface macro JoanArcUI. No parameter block is used.

Example

Two example applications are provided. The JoanArcEg1 application shows how a series of arcs can be generated from static arrays of start, end and vertical scale values. The JoanArcEg2 application uses orthoslice modules to generate start, end and scale data from the hydrogen data set. A Loop module is also included so that the resulting visualization can be animated.

Files

iac_proj/joan_arc/jarcmods.v contains the V definition of the JoanArcCore module.

iac_proj/joan_arc/jarcmacs.v contains the V definitions of the JoanArcUI UI macro, the JoanArcFunc functional macro and the joan_arc user macros.

iac_proj/joan_arc/jarcapps.v contains the V definitions of the JoanArcEg1 and JoanArcEg2 example applications.

Other Notes

The low-level JoanArcMods library containing the JoanArcCore module does not specify a process. By default the express process will be used.

Authors

David Goughnnour, Ian Curington
Advanced Visual Systems, Inc.

Modifications

Andrew Dodd, International AVS Centre

Contact

International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL