>  Docs Center  >  Libraries  >  Motley  >  MGHGRSYMBOL__DEFINE
Libraries

MGHGRSYMBOL__DEFINE

MGHGRSYMBOL__DEFINE

Class Name


  MGHgrSymbol

Purpose


  This class implements a symbol in which the size can be specified
  in normalised coordinates. It provides useful plotting symbols not
  in the standard IDLgrSymbol definitions.

Properties


  The following properties are supported.
    COLOR (Init, Get, Set)
      This is passed to the atom encapsulated by the symbol.
      Note that when an IDLgrSymbol has user-defined data,
      the symbol's own colour property is ignored, and the
      colour is not inherited from the graphics atom to which the
      symbol is attached.
    NORM_SIZE (Init, Get, Set)
      Symbol size in scaled coordinates. This is a 3-element,
      double-precision floating point vector, but can (and usually
      will) be set as a scalar. See notes on symbol-sizing below.
    ROTATABLE (Init, Get, Set)
      This property has permissible values 0 and 1 & specifies
      whether the graphics atom that defines the symbol is embedded
      in an IDlgrModel (which can be rotated) or not. If the Rotate
      method is called on on a non-rotatable symbol then the symbol
      is made rotatable--is that cool or what?!
    SIZE (Init, Get, Set)
      Symbol size in unscaled coordinates. This is the underlying
      IDLgrSymbol's SIZE property, exposed so that it can be
      manipulated directly if necessary, eg. by the IDLgrLegend
      object. See notes on symbol-sizing below.
    STYLE(Init, Get)
      An integer specifying the type of symbol. Valid values are in
      the range 0-4.
    XSCALE (Init, Get, Set)
    YSCALE (Init, Get, Set)
    ZSCALE (Init, Get, Set)
      Scaling factor for symbol size in x, y & z directions. See
      notes on symbold sizing below.
  SYMBOL SIZING:
  The properties relevant to sizing the symbol are NORM_SIZE, SIZE
  and [X,Y,Z]SCALE. The underlying IDLgrSymbol is resized whenever the
  SetProperty method is called (and this is always done at initialisation).
  The rules are:
    - If SIZE is specified, then this value is used. The values of
      the other properties may be changed and are retained, but they are
      ignored.
    - If SIZE is not specified, then the IDLgrSymbol's size is set to
      self.norm_size/[self.xscale,self.yscale,self.zscale].
  These rather complicated rules are used to support both explicit
  sizing in data coordinates (eg by IDLgrLegend) and the automatic scaling
  done by MGHgrGraph and MGHgrAxis objects.
###########################################################################
  This software is provided subject to the following conditions:
  1. NIWA makes no representations or warranties regarding the
    accuracy of the software, the use to which the software may
    be put or the results to be obtained from the use of the
    software. Accordingly NIWA accepts no liability for any loss
    or damage (whether direct of indirect) incurred by any person
    through the use of or reliance on the software.
  2. NIWA is to be acknowledged as the original author of the
    software where the software is used or presented in any form.
###########################################################################

Modification History


  Mark Hadfield, 2000-07:
    Written, base on my earlier MGH_SYMBOL function
  Mark Hadfield, 2002-10:
    Updated for IDL 5.6. I managed to use array stride subscripts in
    the code for STYLE=2!
  Mark Hadfield, 2004-07:
    - Sizing code revised, allowing cleaner code in MGHgrGraph and
      MGHgrAxis.
    - IDL 6.0 logical syntax.



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us