MGHGRBARB__DEFINE
Name
MGHgrBarb
Purpose
This class implements a set of wind/current barbs by joining up the
appropriate vertices in a single IDLgrPolyline.
Category
Object graphics.
Superclass
IDLgrModel
Properties
Properties not recognised by this class are passed to the barb
object (an IDLgrPolyline). The following properties are supported
directly
BARB_COLORS (Init)
A vector of indexed or RGB colours (ie an [n] or [3,n] byte
array) specifying the colour of each barb.
DATAU, DATAV, DATAW (Init)
These specify the displacement of the tip of each barb from
its base in the x, y & z directions respectively. Optional,
default = 0.
DATAX, DATAY, DATAZ (Init)
Each of these is a scalar or vector specifying the location
of the base of each barb. Optional, default = 0.
NORM_SCALE (Init, Get, Set)
A 3-element boolean vector specifying how the SCALE property is to
be interpreted for each direction. If NORM_SCALE is true for a
given direction, then the corresponding SCALE is interpreted
as a length in normalised coordinates, otherwise it is
interpreted as a length in data coordinates (the same ones as used
for DATA[X,Y,Z]).
SCALE (Init, Get, Set)
A 3-element double-precision vector specifying the length of a
unit velocity vector. This property can be (and often will be)
passed to Init or GetProperty as a scalar. Default is [1,1,1].
To Do
- Direct appropriate keywords (e.g. HIDE) to the model rather than
the atom.
- Separate colour recalculation from dimension recalculation--you don't
really need to recalculate all the dimensions when the colour is changed.
- Sort out arrow head shape for anisotropic data coordinates.
###########################################################################
Copyright (c) 2013 NIWA:
http://www.niwa.co.nz/
Licensed under the MIT open source license:
http://www.opensource.org/licenses/mit-license.php
###########################################################################
Modification History
Mark Hadfield, 1998-02:
Written as MGHgrBarb.
Mark Hadfield, 1999-05:
Added DATAZ & BARB_COLORS.
Mark Hadfield, 2000-07:
Substantially rewritten. The meaning of the SCALE keyword has
changed so that it is more logical and extensible to the Z
dimension--this is NOT BACKWARD-COMPATIBLE. Changed from a
subclass of IDLgrPolyline to a subclass of IDLgrModel (with
SELECT_TARGET set) in preparation for supporting symbols. Added
DATAW property for full 3D support.
Mark Hadfield, 2001-07:
Updated for IDL 5.5.
Mark Hadfield, 2004-07:
- Renamed MGHgrBarb.
- Handling of scaling changed: the default is now to scale in data
coordinates and the NORM_SCALE keyword has been added to support
the original normalised scaling.
Mark Hadfield, 2007-09:
- Fixed bug: single precision calculations used in CalculateDimensions
methods when the object's DOUBLE property is set.
- Changed default value of DOUBLE property to 1.
Mark Hadfield, 2013-10:
- Implemented arrow heads.