coyote: CGPOLYGON

Description
Provides a device-independent and color-model-independent way to draw a 
filled or unfilled polygon.
The program requires the `Coyote Library `
to be installed on your machine.
Categories
Graphics
Params
x: in, required, type=number
   A vector argument providing the X coordinates of the points to be connected. 
   The vector must contain at least three elements. If only one argument is 
   specified, X must be an array of either two or three vectors (i.e., (2,*) 
   or (3,*)). In this special case, the vector X[0,*] specifies the X values, 
   X[1,*] specifies Y, and X[2,*] contain the Z values.       
y: in, required, type=number
   A vector argument providing the Y coordinates of the points to be connected. 
   Y must contain at least three elements.
z: in, optional, type=number
   An optional vector argument providing the Z coordinates of the points to be 
   connected. Z must contain at least three elements.
Keywords
addcmd: in, optional, type=boolean, default=0
   Set this keyword to add the command to an cgWindow. Setting this keyword
   automatically sets the WINDOW keyword, but the command does not erase the
   graphics window as it would normally.
checkforfinite: in, optional, type=boolean, default=0
   If the input data is not finite (i.e., it contains NaNs), then the drawing of
   the polygons will be affected. This is particularly true if you are drawing polygons
   on map projections using the `Map_Object` keyword. The program could check all input for NaNs, but
   this would be quite slow when a great number of polygons are being drawn. For this reason,
   the program only checks polygon input when this keyword is set. Only polygons containing all
   finite values are drawn when this keyword is set.
color: in, optional, type=string, default='rose'
   The name of the polygon color. Color names are those used with cgColor. 
   This value can also be a long integer or an index into the current color
   table.
device: in, optional, type=boolean, default=0
   Set to indicate the polygon vertices are in device coordinates.
fcolor: in, optional, type=string/integer/long
   The name of the polygon fill color. Color names are those used with cgColor. 
   This value can also be a long integer or an index into the current color
   table. The default is the same as `Color`.
fill: in, optional, type=boolean, default=0
   Set this keyword to draw a filled polygon, rather than an open polygon.
map_object: in, optional, type=object
   If you are drawing on a map projection set up with Map_Proj_Init
   and using projected meter space, rather than lat/lon space, then you can use this
   keyword to provide a cgMap object that will allow you to convert the `x` and `y`
   parameters from longitude and latitude, respectively, to projected meter space
   before drawing. X and Y must both be present.
normal: in, optional, type=boolean, default=0
   Set to indicate the polygon vertices are in normalized coordinates.
position: in, optional, type=fltarr(4)
   Set this keyword to a four-element position array of normalized coordinates
   to fill a rectangular area on the graphics display. The normal input parameters
   are ignored if this keyword is set.
window: in, optional, type=boolean, default=0
   Set this keyword to add the command to the current cgWindow application.
_ref_extra: in, optional, type=appropriate
   Any other keywords to the IDL POLYFILL command may be used.
Examples
Used like the IDL Plots or Polyfill commands::
   IDL> cgPolygon, [0.25, 0.25, 0.75, 0.75, 0.25], [0.25, 0.75, 0.75, 0.25, 0.25], $
             /NORMAL, COLOR='blue'
   IDL> cgPolygon, [0.25, 0.25, 0.75, 0.75, 0.25], [0.25, 0.75, 0.75, 0.25, 0.25], $
             /NORMAL, COLOR='blue', FCOLOR='rose', /FILL
Author
FANNING SOFTWARE CONSULTING::
    David W. Fanning 
    1645 Sheely Drive
    Fort Collins, CO 80526 USA
    Phone: 970-221-0438
    E-mail: david@idlcoyote.com
    Coyote's Guide to IDL Programming: http://www.idlcoyote.com
History
Change History::
   Written, 26 March 2012. David Fanning.
   Added Position keyword to allow a fill of a particular portion of the graphics 
       window. 20 Apr 2012. DWF.
   Added AddCmd keyword. 25 Oct 2012. DWF.
   Added a MAP_OBJECT keyword to allow polygon filling on maps. 16 Dec 2013. DWF.
   Completely forgot to deconstruct a single parameter into component parts. 11 Jan 2014. DWF.
   Added CheckForFinite keyword to check output for NaN values before display. 22 Jan 2014. DWF.
Copyright
Copyright (c) 2012-2014, Fanning Software Consulting, Inc.