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.
Name | Type | Description | |
start | float[][3] | starting coordinates of arcs | |
end | float[][3] | ending coordinates of arcs | |
vert | float[] | maximum vertical height of arcs | |
Name | Type | Description | UI Control |
nseg | int | Number of segments to use for each arc | |
Name | Type | Description | |
out_fld | Polyline Mesh | Generated arcs | |
out_obj | GDobject | Directly renderable output object | |
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.
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.
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.
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.
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.
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.
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.
The low-level JoanArcMods library containing the JoanArcCore module does not specify a process. By default the express process will be used.
David Goughnnour, Ian Curington
Advanced Visual Systems, Inc.
Andrew Dodd, International AVS Centre
International AVS Centre Manchester Visualization Centre Manchester Computing University of Manchester Oxford Road Manchester United Kingdom M13 9PL