NAME
        AllAxis

   DESCRIPTION
        This module generates geometry for the axes of any 2-D or 3-D lattice.
        Along with the basic lines, extensive support is provided for axis labels
        as well as coordinate numbers.  There are also many options for tick
        marks, font selection, label positioning, coloring, etc.  A noteworthy
        option is the ability to generate the tick marks and coordinate numbers
        in several different ways.  See the "I Coord", "J Coord", and "K Coord"
        sections for further information.

   INPUTS

      Input -- Lattice
         (2..3-D).
         This is the main input lattice.  It is always used to shape the geometry
         of the axes.  The coordinates used for labelling can come from this
         lattice or the lattice on the "Coords In" port.

      Coords In -- Lattice (Opt.)
         (1..3-D).
         This is an optional lattice which can be used for coordinate labelling.
         See the "I Coord", "J Coord", and "K Coord" sections for descriptions
         of how to use it.  Among its uses, it solves the problem of being able
         to use the original coordinates rather than scaled ones in the cases
         where scaling is necessary to alter the relative sizes of the lattice
         dimensions (reshaping).  Another use is in cases where lattices are
         flipped along their axes.  This lattice can be used for proper labelling.
         See the FlipLat documentation for further explanation of this process.

   WIDGETS

      Color -- Text
         This is the color of all the geometry.  Three numbers represent the red,
         green, and blue components of the color.  The range is from 0.0 to 1.0
         for all components.

      Line Width -- Slider
         This is the width of all the axis lines and tick marks.

      I Coord Start -- Dial
         This is the coordinate along the I axis at which tick creation will start
         if the "Fixed Input" or "Fixed Coords In" options are selected from
         "I Coord".

      J Coord Start -- Dial
         This is the coordinate along the J axis at which tick creation will start
         if the "Fixed Input" or "Fixed Coords In" options are selected from
         "J Coord".

      K Coord Start -- Dial
         This is the coordinate along the K axis at which tick creation will start
         if the "Fixed Input" or "Fixed Coords In" options are selected from
         "K Coord".

      I Coord Delta -- Text
         This is the increment used to space the tick marks along the I axis if
         the "Fixed Input" or "Fixed Coords In" options are selected from
         "I Coord".

      J Coord Delta -- Text
         This is the increment used to space the tick marks along the J axis if
         the "Fixed Input" or "Fixed Coords In" options are selected from
         "J Coord".

      K Coord Delta -- Text
         This is the increment used to space the tick marks along the K axis if
         the "Fixed Input" or "Fixed Coords In" options are selected from
         "K Coord".

      I Axis Label -- Text
         This is the label to be placed along the I axis.

      J Axis Label -- Text
         This is the label to be placed along the J axis.

      K Axis Label -- Text
         This is the label to be placed along the K axis.

      Major I Ticks -- Slider
         This is the number of major ticks to be marked on the I axis.  It is only
         used if "Input" or "Coords In" are selected from "I Coord".

      Major J Ticks -- Slider
         This is the number of major ticks to be marked on the J axis.  It is only
         used if "Input" or "Coords In" are selected from "J Coord".

      Major K Ticks -- Slider
         This is the number of major ticks to be marked on the K axis.  It is only
         used if "Input" or "Coords In" are selected from "K Coord".

      Minor I Ticks -- Slider
         This is the number of minor ticks to be placed between the major ones
         along the I axis.

      Minor J Ticks -- Slider
         This is the number of minor ticks to be placed between the major ones
         along the J axis.

      Minor K Ticks -- Slider
         This is the number of minor ticks to be placed between the major ones
         along the K axis.

      Show I Numbers -- Radio Box
         This determines whether the coordinate numbers will be shown along
         the I axis.

      Show J Numbers -- Radio Box
         This determines whether the coordinate numbers will be shown along
         the J axis.

      Show K Numbers -- Radio Box
         This determines whether the coordinate numbers will be shown along
         the K axis.

      Axes Font -- Option Menu
         This is the font to be used for labelling the axes.

      Axes Font Size -- Text
         This is the point size of the axes font.  If there is no noticable change in
         the text geometry between point sizes, then that particular size is not
         supported and the next available smaller size will be displayed.

      Number Font -- Option Menu
         This is the font to be used for the coordinate numbers.

      Number Font Size -- Text
         This is the point size of the number font.  If there is no noticable change
         in the text geometry between point sizes, then that particular size is not
         supported and the next available smaller size will be displayed.

      I, J, K Label Centers -- Text
         This is the centering control for the I, J, and K axes labels.  The three
         numbers determine how the labels are centered along their respective
         axes.

      I, J, K Label Axis Offsets -- Text
         This is the offsetting control for the I, J, and K axes labels.  The three
         numbers determine how far the labels are from their respective axes.

      Tick Scale -- Dial
         This is the scaling factor to be applied to all tick marks.

      I, J, K Number Offsets -- Text
         This is the offsetting control for the coordinate numbers along the I, J,
         and K axes.  The three numbers determine how far the coordinates are
         from their respective axes.

      Box Data -- Radio Box
         This determines whether the entire lattice should be boxed with lines.

      Number Format -- Text
         This is the format specification for the coordinate numbers using a
         printing style similar to C.  There should be two entries in the widget.
         The first is an integer representing the number of decimal places and
         the second is either "d", "f", or "e" (without quotes) representing
         integer, floating point, or exponential numbers, respectively.

      I Position -- Option Menu
         This is the position of the I axis relative to the other axes.  The
         possible choices are to position it at (J minimum, K minimum) which
         is the default, or (J maximum, K minimum), or (J minimum, K maximum),
         or (J maximum, K maximum).

      J Position -- Option Menu
         This is the position of the J axis relative to the other axes.  The
         possible choices are to position it at (I minimum, K minimum) which
         is the default, or (I maximum, K minimum), or (I minimum, K maximum),
         or (I maximum, K maximum).

      K Position -- Option Menu
         This is the position of the K axis relative to the other axes.  The
         possible choices are to position it at (I minimum, J minimum) which
         is the default, or (I maximum, J minimum), or (I minimum, J maximum),
         or (I maximum, J maximum).

      I Coord -- Option Menu
         This determines how the tick marks and their coordinate numbers will
         be created along the I axis.  Here are the possible choices:
         
            Input - The ticks and numbers are generated from the lattice on the
               "Input" port.  This is the default setting.
            Coords In - The ticks are generated at the same locations as with the
               "Input" option, but the numbers are generated from the coordinate
               portion of the lattice on the "Coords In" port.  This allows different
               numbers (such as scaled ones) to be displayed without affecting the
               shape of the axis.  The lattices on both ports should have the same
               dimensions and coordinate types.
            Fixed Input - This option is similar to the "Input" option, but using
               uniform spacing.  A starting position must be specified as well as an
               increment which creates ticks and numbers outward in both
               directions from the starting point.  See the "I Coord Start" and
               "I Coord Delta" sections for further information.
            Fixed Coords In - This option is similar to the "Coords In" option, but
               using uniform spacing.  A starting position must be specified as well
               as an increment which creates ticks and numbers outward in both
               directions from the starting point.  The ticks and numbers reflect
               the I axis range in the lattice on the "Coords In" port.  See the
               "I Coord Start" and "I Coord Delta" sections for further information.

      J Coord -- Option Menu
         This determines how the tick marks and their coordinate numbers will
         be created along the J axis.  Here are the possible choices:
         
            Input - The ticks and numbers are generated from the lattice on the
               "Input" port.  This is the default setting.
            Coords In - The ticks are generated at the same locations as with the
               "Input" option, but the numbers are generated from the coordinate
               portion of the lattice on the "Coords In" port.  This allows different
               numbers (such as scaled ones) to be displayed without affecting the
               shape of the axis.  The lattices on both ports should have the same
               dimensions and coordinate types.
            Fixed Input - This option is similar to the "Input" option, but using
               uniform spacing.  A starting position must be specified as well as an
               increment which creates ticks and numbers outward in both
               directions from the starting point.  See the "J Coord Start" and
               "J Coord Delta" sections for further information.
            Fixed Coords In - This option is similar to the "Coords In" option, but
               using uniform spacing.  A starting position must be specified as well
               as an increment which creates ticks and numbers outward in both
               directions from the starting point.  The ticks and numbers reflect
               the J axis range in the lattice on the "Coords In" port.  See the
               "J Coord Start" and "J Coord Delta" sections for further
               information.

      K Coord -- Option Menu
         This determines how the tick marks and their coordinate numbers will
         be created along the K axis.  Here are the possible choices:
         
            Input - The ticks and numbers are generated from the lattice on the
               "Input" port.  This is the default setting.
            Coords In - The ticks are generated at the same locations as with the
               "Input" option, but the numbers are generated from the coordinate
               portion of the lattice on the "Coords In" port.  This allows different
               numbers (such as scaled ones) to be displayed without affecting the
               shape of the axis.  The lattices on both ports should have the same
               dimensions and coordinate types.
            Fixed Input - This option is similar to the "Input" option, but using
               uniform spacing.  A starting position must be specified as well as an
               increment which creates ticks and numbers outward in both
               directions from the starting point.  See the "K Coord Start" and
               "K Coord Delta" sections for further information.
            Fixed Coords In - This option is similar to the "Coords In" option, but
               using uniform spacing.  A starting position must be specified as well
               as an increment which creates ticks and numbers outward in both
               directions from the starting point.  The ticks and numbers reflect
               the K axis range in the lattice on the "Coords In" port.  See the
               "K Coord Start" and "K Coord Delta" sections for further
               information.

      I Number Type -- Option Menu
         This determines how the numbers along the I axis are interpreted.  If one
         of the geographic options ("Geographic (E & W)" or "Geographic (W)")
         is chosen then they are treated as longitude coordinates, otherwise the
         default is to leave them alone.  AllAxis can deal with a range of 0 to 360
         or -180 to 180.  In either geographic case, the numbers are put into a
         0 to 180 range with the appropriate east ("E") and west ("W") extensions.
         The second geographic option is just like the first except that the east
         ("E") extensions are not used.

      J Number Type -- Option Menu
         This determines how the numbers along the J axis are interpreted.  Here
         are the possible choices:
         
            Regular - They are treated as regular coordinates.
            Geographic (-90 to 90) - They are treated as latitude coordinates
               with a range of -90 to 90.  Coordinates that are less than 0 have a
               degree symbol and an "S" appended to them.  Coordinates that are
               greater than 0 have a degree symbol and an "N" appended to them.
               A coordinate of 0 just has a degree symbol appended to it.
            Geographic (-90 to 90, EQ) - This is exactly the same as the previous
               option except a coordinate of 0 is printed as "EQ".
            Geographic (0 to 180) - They are treated as latitude coordinates with a
               range of 0 to 180.  Coordinates that are less than 90 have a degree
               symbol and an "S" appended to them.  Coordinates that are greater
               than 90 are subtracted from 180 and the results have a degree
               symbol and a "N" appended to them.  A coordinate of 0 just has a
               degree symbol appended to it.
            Geographic (0 to 180, EQ) - This is exactly the same as the previous
               option except that a new coordinate of 0 (formerly 90) is printed
               as "EQ".

   OUTPUTS

      Axis -- Geometry
         This is the generated geometry for all the lines and labels of the axes.

   KNOWN PROBLEMS
      The coordinate numbers are not "fixed" in place.  They always face
      upright regardless of the orientation of the geometry.  This is an
      inherent limitation in the way Explorer geometry deals with fonts.
      Future enhancements may include custom fonts converted to point
      and line data to get around this limitation.  There are no known bugs.

   SEE ALSO
      Axis, Display, FlipLat, NAGAxis, Render, RenderRemote

      -
            
      Hans Vahlenkamp (Hans.Vahlenkamp@noaa.gov)
      Geophysical Fluid Dynamics Laboratory / NOAA
      Princeton University Forrestal Campus
      http://www.gfdl.noaa.gov