show flow - generate symbols to depict the flow in a field

Name

	show flow - generate symbols to depict the flow in a field

Summary

	Name		show flow
	Type		mapper
	Inputs		field, any-data, any-coordinates
			colormap (optional)
			field, any-data, any-coordinates (optional)
			upstream transform (optional, invisible)
	Outputs		geometry
	Parameters
	    Name		Type		Default		Min Max Choices
	    symbol type		radio		arrows		arrows, barbs
	    sample int		integer		1		1, 100
	    symbol size		float		1.0		0.0, unbounded
	    unit arrow spd	float		1.0		0.0, unbounded
	    arrow scale mode	radio		scale by max	scale by max,
								scale by avg,
								scale manually
	    rotate symbols	toggle		off		-
	    X rotate		float		0.0		unbounded
	    Y rotate		float		0.0		unbounded
	    Z rotate		float		0.0		unbounded
	    freeze X aspect	toggle		off		-
	    freeze Y aspect	toggle		off		-
	    freeze Z aspect	toggle		off		-

Description

	The show flow module generates a geometry object named "flow symbols"
	that depicts the flow in a field of 1-, 2-, or 3-vectors of any data
	type and in any grid configuration.  Show flow provides the same basic
	function as hedgehog but it has been enhanced to serve the meteorolog-
	ical community where wind barbs, rather than arrows, may be the desired
	flow symbol.  Flow speed values are the resultant values of the field
	n-vector nalues.  The symbols may be rotated about their reference  
	points and their aspect with respect to the viewer can be frozen.  While
	symbols of either type can be arbitrarily sized, arrows can be further
	scaled by a divisor which is the maximum of the field, the average of
	the field, or entered manually.  The symbols will be colored by their
	speeds or the values in a second, optional field if an optional colormap
	is supplied.

Inputs

	Input Field (required, field, any-data, any-coordinates)
	    The input field may be a 1D, 2D, or 3D field of any data type in
	    any grid configuration.  If the field contains scalar (1-vector)
	    values, all of the symbols will point the same direction and the
	    scalar values will be indicated by the "speed" component of the
	    symbol.  2-vector values must be ordered U-V; 3-vector values,
	    U-V-W.  Vector components beyond the third position are ignored.
	Input Colormap (optional)
	    If an optional colormap is supplied, the generated flow symbols
	    will be colored according to where their resultant speeds or the 
	    values of the optional color field map into this colormap.  If no
	    colormap is supplied, the flow symbols will not be colored.
	Input Color Field (optional, field, any-data, any-coordinates)
	    If this optional field is supplied, its values will be used to color
	    the flow symbols, rather than the speeds derived from the required
	    flow field.  Only the values of this field are used, so it may be
	    of any grid configuration.  However, its computational dimensions
	    must match those of the flow field.  If no colormap is supplied, 
	    this field will have no effect.
	Transform Info (optional, invisible, upstream transform)
		
	    In order for the any of the freeze aspect options to work, the show
	    flow module must receive transformation data from the render geom-
	    try module.  AVS automatically makes this connection when the show
	    flow module is instantiated.

Parameters

	symbol type
	    Currently, arrows and wind barbs are the available symbol types.
	    Arrows will have heads only if the shaft is longer than the length
	    of the head.  Wind barbs are become circles if the speed is less
	    than 1.0.  Show flow makes no determination as to what units of
	    measure (knots, m/s, mph, milli-furlongs/micro-fortnight, etc) are
	    associated with the data.  A flag means 50 whatevers; a full barb,
	    10; and a half barb, 5.
	sample int
	    The sample int parameter performs a local downsizing.  Sampling
	    always begins at the orgin corner point (1, 1, 1) and int-1 points
	    are skipped in each direction of the field.
	symbol size
	    For all symbol types, the symbol size parameter scales the entire
	    symbol.  A size value of 1.0 yields a symbol that is approximately
	    the size of one grid interval in the input flow field.  For arrows,
	    additional scaling capabilites are available through the arrow
	    scale mode parameter (q.v.).
	unit arrow spd
	arrow scale mode
	    The unit arrow spd parameter indicates that speed which is indicated
	    by an arrow of unit (one grid interval) length, before the size
	    parameter is applied.  If the arrow scale mode is set to "scale
	    manually", the unit arrow spd widget is used to set the value by
	    which all of the speeds will be divided.  If the arrow scale mode
	    is set to "scale by max", the maximum speed in the field is found
	    and is used as the unit arrow speed.  Similarly, if the arrow scale
	    mode is set to "scale by avg", the average speed in the field is 
	    used.  In either of the latter two cases, the unit arrow spd widget
	    is updated with the derived value.
	rotate symbols
	X rotate
	Y rotate
	Z rotate
	    The symbols of either type by be rotated about their reference
	    points (head of the shaft for barbs, tail of the shaft for arrows).
	    If the rotate symbols toggle is off, the rotation parameters are
	    hidden and their values are ignored.  Turning the rotate symbols
	    toggle on makes the rotation parameters visible and enables their
	    use.  The values of the rotation parameters are in degrees.  As an
	    example, wind barbs, which are normally drawn in a horizontal plane,
	    may be given an X rotation of 90 degrees to draw them in a vertical
	    plane.  The result is a presentation that looks like that of a wind
	    profiler plot.
	freeze X aspect
	freeze Y aspect
	freeze Z aspect
	    As a scene is transformed with the geometry viewer, the flow symbols
	    may become oriented so that they become confusing or unreadable.  As
	    an attempt to remedy this problem, the viewing aspect of the symbols
	    may can be frozen.  Once a desirable viewing aspect has been chosen,
	    the X, Y, or Z component of that aspect can be preserved.  For
	    example, if the scene is to be more or less rotated about its Z
	    axis, freezing the Z aspect has the effect of undoing this rotation.
	    The freeze aspect parameters are visible and enabled only if the
	    rotate symbols toggle is on.

Outputs

	Output Geometry
	    An object named "flow symbols" consisting of disjoint lines is
	    created regardless of the symbol type.

Examples

	This example combines a U field and a V field into a single field.
	Then this UV field is sliced and flow symbols are drawn on the slice.
		READ FIELD            READ FIELD
		     |                     |
		     +-------+     +-------+
		             |     |
		         COMBINE SCALARS
		                |
		        ORTHOGONAL SLICER
		                |
		            SHOW FLOW
		                |
                         RENDER GEOMETRY
                                |
                          DISPLAY PIXMAP

Limitations

	It is my intention to add more symbol types at a later date.
	This module has been used with uniform and "nice" irregular fields.
	It has not been tested with anything really weird.

Author

	Phil McDonald, NOAA/ERL/Forecast Systems Laboratory
NOAA/ERL/Forecast Systems Laboratory
AVS Modules						               show flow