>  Docs Center  >  Libraries  >  Coyote  >  CGSURF


  The purpose of cgSurf is to create a wrapper for the traditional IDL graphics
  commands, Surface and Shade_Surf. The primary purpose of this is to create surface
  commands that work and look identically both on the display and in PostScript files.




    data: in, required, type=any
        A two-dimensional array of data to be displayed.
    x: in, optional, type=any
        A vector or two-dimensional array specifying the X coordinates of the
        surface grid.
    y: in, optional, type=any
        A vector or two-dimensional array specifying the Y coordinates of the
        surface grid.


    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.
    axiscolor: in, optional, type=string/integer, default='opposite'
        If this keyword is a string, the name of the axis color.
        Otherwise, the keyword is assumed to be a color index into the current color table.
    axescolor: in, hidden, type=string/integer
        Provisions for bad spellers.
    background: in, optional, type=string/integer, default='background'
        If this keyword is a string, the name of the background color.
        Otherwise, the keyword is assumed to be a color index into the current color table.
    bottom: in, optional, type=string/integer, default='black'
        If this keyword is a string, the name of the bottom color. By default, same as COLOR.
        Otherwise, the keyword is assumed to be a color index into the current color table.
    charsize: in, optional, type=float, default=cgDefCharSize*1.25
        The character size for axes annotations. Uses cgDefCharSize()*1.25 to select default
        character size, unless !P.Charsize is set, in which case !P.Charsize*1.25 is always used.
    color: in, optional, type=string/integer, default='blu6'
        If this keyword is a string, the name of the data color. By default, "BLU6".
        Otherwise, the keyword is assumed to be a color index into the current color table.
    elevation_shading: in, optional, type=boolean, default=0
        Set this keyword to put elevation shading into effect for the surface.
    font: in, optional, type=integer, default=-1
        The type of font desired. If undefined, and the current graphics device is PostScript,
        the FONT keyword will be set to 1, indicating true-type fonts. The FONT keyword must
        be set to -1 (Hershey fonts) or 1 (true-type fonts) for surface annotations to be
        rotated correctly in PostScript output.
    layout: in, optional, type=intarr(3)
        This keyword specifies a grid with a graphics window and determines where the
        graphic should appear. The syntax of LAYOUT is three numbers: [ncolumns, nrows, location].
        The grid is determined by the number of columns (ncolumns) by the number of
        rows (nrows). The location of the graphic is determined by the third number. The
        grid numbering starts in the upper left (1) and goes sequentually by column and then
        by row.
    noerase: in, optional, type=boolean, default=0
        Set this keyword to prevent the window from erasing the contents before displaying
        the surface plot.
    outfilename: in, optional, type=string
        If the `Output` keyword is set, the user will be asked to supply an output
        filename, unless this keyword is set to a non-null string. In that case, the
        value of this keyword will be used as the filename and there will be no dialog
        presented to the user.
    output: in, optional, type=string, default=""
        Set this keyword to the type of output desired. Possible values are these::
            'PS' - PostScript file
            'EPS' - Encapsulated PostScript file
            'PDF' - PDF file
            'BMP' - BMP raster file
            'GIF' - GIF raster file
            'JPEG' - JPEG raster file
            'PNG' - PNG raster file
            'TIFF' - TIFF raster file
        Or, you can simply set this keyword to the name of the output file, and the type of
        file desired will be determined by the file extension. If you use this option, the
        user will not be prompted to supply the name of the output file.
        All raster file output is created through PostScript intermediate files (the
        PostScript files will be deleted), so ImageMagick and Ghostview MUST be installed
        to produce anything other than PostScript output. (See cgPS2PDF and PS_END for
        details.) And also note that you should NOT use this keyword when doing multiple
        plots. The keyword is to be used as a convenient way to get PostScript or raster
        output for a single graphics command. Output parameters can be set with cgWindow_SetDefs.
    palette: in, optional, type=byte
        Set this keyword to a 3 x N or N x 3 byte array containing the RGB color vectors
        to be loaded before the surface is displayed. Such vectors can be obtained, for
        example, from cgLoadCT with the RGB_TABLE keyword:
            cgLoadCT, 33, RGB_TABLE=palette
            cgSurf, cgDemoData(2), PALETTE=palette, /Elevation
    rotx: in, optional, type=float, default=30
        The rotation about the X axis.
    rotz: in, optional, type=float, default=30
        The rotation about the Z axis.
    shaded: in, optional, type=boolean, default=0
        Set this keyword if you wish to display a shaded surface. To display shaded surfaces
        in a device-independent way, the shading values are confined to indices 0 to 253 with
        SET_SHADING, and the background color is placed in color index 254. The color table vectors
        are reduced to 254 elements when this happens. This all happens behind the stage,
        and the original color table is restore upon exit. Because I can't tell how many values
        SET_SHADING is using on entering the program, I just set it back to its default 256 values
        on exiting the program.
    shades: in, optional, type=byte
        Set this keyword to a byte scaled 2D array of the same size as data to shade the surface
        with these color indices.
    skirt: in, optional, type=any
        Set this keyword to a Z value where a skirt will be drawn for the surface.
    title: in, optional, type=string
        The title of the plot. It will be written "flat to the screen", rather than rotated.
    traditional: in, optional, type=boolean, default=0
        If this keyword is set, the traditional color scheme of a black background for
        graphics windows on the display is used and PostScript files always use a white background.
    tsize: in, optional, type=float
        The character size for the title. Normally, the title character size is 1.1 times
        the character size of the surface annotation.
    tspace: in, optional, type=float
        The title Y spacing. This should be a number, between 0 and 1 that is the fraction
        of the distance between !Y.Window[1] and !Y.Window[0] to locate the title above
        !Y.Window[1]. When Total(!P.MULTI) EQ 0, the default is 0.005, and it is 0.0025 otherwise.
    window: in, optional, type=boolean, default=0
        Set this keyword to replace all the commands in the current cgWindow or to
        create a new cgWindow, if one doesn't currenly exist, for displaying this command.
        To create a new cgWindow if one currenly exists, use the `cgWindow` command
    xstyle: in, hidden
        The normal XSTYLE keyword.
    xtitle: in, optional, type=string
        The X title of the plot.
    ystyle: in, hidden
        The normal YSTYLE keyword.
    ytitle: in, optional, type=string
        The Y title of the plot.
    zstyle: in, hidden
        The normal ZSTYLE keyword.
    ztitle: in, optional, type=string
        The Z title of the plot.
    _ref_extra: in, optional, type=any
        Any keyword appropriate for the IDL Surface command is allowed in the program.


    Use as you would use the IDL SURFACE of SHADE_SURF command::
      data = Dist(200)
      LoadCT, 33
      cgSurf, data
      cgSurf, data, Shades=BytScl(data)
      cgSurf, data, /Shaded
      cgSurf, data, /Shaded, Shades=BytScl(data)


          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


    Change History::
        Written, 13 November 2010. DWF.
        Now setting decomposition state by calling SetDecomposedState. 16 November 2010. DWF.
        Added TSIZE and TSPACE keywords to treak title size and placement,
          as necessary. 17 November 2010. DWF.
        Background keyword now applies in PostScript file as well. 17 November 2010. DWF.
        Many changes after BACKGROUND changes to get !P.MULTI working again! 18 November 2010. DWF.
        Changes so that color variables don't change type. 23 Nov 2010. DWF.
        Added ELEVATION_SHADING keyword. 26 Nov 2010. DWF.
        I had keyword conflicts with the AX and AZ rotation keywords. Now perform rotation with
          ROTX and ROTZ keywords. 7 Dec 2010. DWF.
        Added WINDOW keyword to allow graphic to be displayed in a resizable graphics window. 8 Dec 2010. DWF
        Changed the Title size to 1.1 times the character size of the plot. 14 Dec 2010. DWF.
        Modifications to allow cgSurf to be drop-in replacement for old Surface commands in
            indexed color mode. 24 Dec 2010. DWF.
        Previous changes introduced problems with OVERPLOT that have now been fixed. 28 Dec 2010. DWF.
        Set NOERASE keyword from !P.NoErase system variable when appropriate. 28 Dec 2010. DWF.
        Additional problems with NOERASE discovered and solved. 29 Dec 2010. DWF.
        Change to DECOMPOSED color was using incorrect color tables. 29 Dec 2010. DWF.
        In some cases, I was turning BYTE values to strings without converting to
            INTEGERS first. 30 Dec 2010. DWF.
        Moved setting to decomposed color before color selection process to avoid PostScript
            background problems when passed 24-bit color integers. 12 Jan 2011. DWF.
        Fixed a problem in which I assumed the background color was a string. 18 Jan 2011. DWF.
        Added ADDCMD keyword. 26 Jan 2011. DWF.
        Added LAYOUT keyword. 28 Jan 2011. DWF.
        Added PALETTE keyword. 3 Feb 2011. DWF.
        Color table vectors must be obtained AFTER loading the color palette. 6 March 2011. DWF.
        Modified error handler to restore the entry decomposition state if there is an error. 17 March 2011. DWF
        Modified the color decomposition state to properly handle shaded surfaces in PostScript. 20 July 2011. DWF.
        Updated the BACKGROUND color selection from lessons learned in 27 Oct 2011 cgContour
            corrections. 27 Oct 2011. DWF.
        Added the ability to send the output directly to a file via the OUTPUT keyword. 9 Dec 2011, DWF.
        PostScript, PDF, and Imagemagick parameters can now be tailored with cgWindow_SetDefs. 14 Dec 2001. DWF.
        Now allowing the user to draw in the "background" color, if the COLOR or AXISCOLOR is "BACKGROUND". 19 March 2012. DWF.
        Added the ability to use escape characters in plot titles to specify cgSymbol symbols. 27 July 2012. DWF.


    Copyright (c) 2010, Fanning Software Consulting, Inc.

© 2020 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us