Appendix A: Short Description of Routines A.1 Initialization and Introductory Routines CGMBGD defines the background colour for CGM files. CGMPIC sets the picture ID for CGM files. DISINI initializes DISLIN. ERASE clears the screen. ERRDEV defines the error device. ERRFIL set the name of the error file. FILBOX defines the position and size of included meta- files. HWORIG defines the origin of the PostScript hardware page. HWPAGE defines the size of the PostScript hardware page. INCFIL includes metafiles into a graphics. METAFL defines the plotfile format. NEWPAG creates a new page. ORIGIN defines the origin. PAGE sets the page size. PAGERA plots a page border. PAGFLL fills the page with a colour. PAGHDR plots a page header. PAGMOD selects a page rotation. SCLFAC defines a scaling factor for the entire plot. SCLMOD defines a scaling mode. SCRMOD swaps back- and foreground colours. SETFIL sets the plotfile name. SETPAG selects a predefined page format. SETXID defines an external X window or pixmap. SYMFIL sends a plotfile to a device. UNIT defines the logical unit for messages. A.2 Termination and Parameter Resetting DISFIN terminates DISLIN. ENDGRF terminates an axis system and sets the level to 1. RESET resets parameters to default values. A.3 Plotting Text and Numbers ANGLE defines the character angle. CHAANG defines an inclination angle for characters. CHASPC affects character spacing. CHAWTH affects the width of characters. FIXSPC sets a constant character width. FRMESS defines the thickness of text frames. HEIGHT defines the character height. MESSAG plots text. MIXALF enables control signs in character strings for plotting indices and exponents. NEWMIX defines an alternate set of control characters for plotting indices and exponents. NLMESS returns the length of character strings in plot coordinates. NUMBER plots floating-point numbers. NUMFMT determines the format of numbers. NUMODE modifies the appearance of numbers. RLMESS plots text where the position is specified in user coordinates. RLNUMB plots numbers where the position is specified in user coordinates. SETBAS determines the position of indices and expo- nents. SETEXP determines the character height of indices and exponents. SETMIX defines global control signs for plotting indi- ces and exponents. TXTJUS defines the alignment of text and numbers. A.4 Fonts BASALF defines the base alphabet. COMPLX sets a complex font. DUPLX sets a double-stroke font. DISALF sets the default font. EUSHFT defines a shift character for special European characters. GOTHIC sets a gothic font. HELVE sets a shaded font. HELVES sets a shaded font with small characters. HWFONT sets a standard hardware font. PSFONT sets a PostScript font. SERIF sets a complex shaded font. SIMPLX sets a single-stroke font. SMXALF defines shift characters for alternate alphabets. TRIPLX sets a triple-stroke font. WINFNT sets a TrueType font for screen output on Windows 95/NT. X11FNT sets an X11 font for screen output. A.5 Symbols HSYMBL defines the height of symbols. RLSYMB plots symbols where the centre is specified in user coordinates. SYMBOL plots symbols. SYMROT defines a rotation angle for symbols. A.6 Axis Systems AX2GRF suppresses the plotting of the upper X- and the left Y-axis. AX3LEN defines axis lengths for a coloured 3-D axis system. AXGIT plots the lines X = 0 and Y = 0. AXSBGD defines the background colour. AXSLEN defines axis lengths for a 2-D axis system. AXSORG determines the position of crossed axis systems. AXSPOS determines the position of axis systems. AXSTYP selects rectangular or crossed axis systems. BOX2D plots a border around an axis system. CENTER centres axis systems. CROSS plots the lines X = 0 and Y = 0 and marks them with ticks. ENDGRF terminates an axis system. FRAME defines the frame thickness of axis systems. GRACE affects the clipping margin of axis systems. GRAF plots a two-dimensional axis system. GRAF3 plots an axis system for colour graphics. GRDPOL plos a ploar grid. GRID overlays a grid on an axis system. NOCLIP suppresses clipping of user coordinates. NOGRAF suppresses the plotting of an axis system. SETGRF suppresses parts of an axis system. SETSCL sets automatic scaling. TITLE plots a title over an axis system. XAXGIT plots the line Y = 0. XCROSS plots the line Y = 0 and marks it with ticks. YAXGIT plots the line X = 0. YCROSS plots the line X = 0 and marks it with ticks. A.7 Secondary Axes XAXIS plots a linear X-axis. XAXLG plots a logarithmic X-axis. YAXIS plots a linear Y-axis. YAXLG plots a logarithmic Y-axis. ZAXIS plots a linearly scaled colour bar. ZAXLG plots a logarithmically scaled colour bar. A.8 Modification of Axes AXCLRS defines colours for axis elements. AXENDS suppresses certain labels. AXSSCL defines the axis scaling. HNAME defines the character height of axis names. INTAX defines integer numbering for all axes. LABDIG sets the number of decimal places for labels. LABDIS sets the distance between labels and ticks. LABELS selects labels. LABJUS defines the alignment of axis labels. LABMOD modifies date labels. LABPOS determines the position of labels. LABTYP defines vertical or horizontal labels. LOGTIC modifies the appearance of logarithmic ticks. MYLAB sets user-defined labels. NAMDIS sets the distance between axis names and labels. NAME defines axis titles. NAMJUS defines the alignment of axis titles. NOLINE suppresses the plotting of axis lines. RGTLAB right-justifies labels. RVYNAM defines an angle for Y-axis names. TICKS sets the number of ticks. TICLEN sets the length of ticks. TICMOD modifies the plotting of ticks at calendar axes. TICPOS determines the position of ticks. TIMOPT modifies time labels. A.9 Axis System Titles HTITLE defines the character height of titles. LFTTIT left-justifies title lines. LINESP defines line spacing. TITJUS defines the alignment of titles. TITLE plots axis system titles. TITLIN defines text lines for titles. TITPOS defines the position of titles. VKYTIT shifts titles in the vertical direction. A.10 Plotting Data Points BARS plots a bar graph. CHNATT changes curve attributes. CHNCRV defines attributes changed automatically by CURVE. COLOR defines the colour used for text and lines. CRVMAT plots a coloured surface. CURVE plots curves. CURVE3 plots coloured rectangles. CURVX3 plots rows of coloured rectangles. CURVY3 plots columns of coloured rectangles. ERRBAR plots error bars. FIELD plots a vector field. GAPCRV defines gaps plotted by CURVE. INCCRV defines the number of curves plotted with equal attributes. INCMRK selects symbols or lines for CURVE. MARKER sets the symbols plotted by CURVE. NOCHEK suppresses listing of data points that lie out- side of the axis scaling. PIEGRF plots a pie chart. POLCRV defines the interpolation method used by CURVE. RESATT resets curve attributes. SETRES sets the size of coloured rectangles. SHDCRV plots shaded areas between curves. SPLMOD modifies spline interpolation. THKCRV defines the thickness of curves. A.11 Legends FRAME sets the frame thickness of legends. LEGEND plots legends. LEGINI initializes legends. LEGLIN defines text for legend lines. LEGOPT modifies the appearance of legends. LEGPAT stores curve attributes. LEGPOS determines the position of legends. LEGTIT defines the legend title. LINESP affects line spacing. MIXLEG enables multiple text lines in legends. NXLEGN returns the width of legends in plot coordi- nates. NYLEGN returns the height of legends in plot coordi- nates. A.12 Line Styles and Shading Patterns CHNDOT sets a dotted-dashed line style. CHNDSH sets a dashed-dotted line style. COLOR sets a colour. DASH sets a dashed line style. DASHL sets a long-dashed line style. DASHM sets a medium-dashed line style. DOT sets a dotted line style. DOTL sets a long-dotted line style. LINTYP defines a line style. LINWID sets the line width. LNCAP sets the line cap parameter. LNJOIN sets the line join parameter. LNMLT sets the miter limit parameter. MYLINE sets a user-defined line style. MYPAT defines a global shading pattern. PENWID sets the pen width. SHDPAT selects a shading pattern. SOLID sets a solid line style. A.13 Cycles CLRCYC modifies the colour cycle. LINCYC modifies the line style cycle. PATCYC modifies the pattern cycle. A.14 Base Transformations TRFRES resets base transformations. TRFROT affects the rotation of plot vectors. TRFSCL affects the scaling of plot vectors. TRFSHF affects the shifting of plot vectors. A.15 Shielding SHIELD defines automatic shielding. SHLCIR defines circles as shielded areas. SHLDEL deletes shielded areas. SHLELL defines ellipses as shielded areas. SHLIND returns the index of a shielded area. SHLPIE defines pie segments as shielded areas. SHLPOL defines polygons as shielded areas. SHLRCT defines rotated rectangles as shielded areas. SHLREC defines rectangles as shielded areas. SHLRES deletes shielded areas. SHLVIS enables or disables shielded areas. A.16 Parameter Requesting Routines GETALF returns the base alphabet. GETANG returns the current angle used for text and num- bers. GETCLP returns the currents clipping window. GETCLR returns the current colour number. GETDIG returns the number of decimal places used in la- bels. GETFIL returns the current plotfile name. GETGRF returns the scaling of the current axis system. GETHGT returns the current character height. GETIND returns the RGB coordinates for a colour index. GETLAB returns the current labels. GETLEN returns the current axis lengths. GETLEV returns the current level. GETLIN returns the current line width. GETMFL returns the current file format. GETMIX returns shift characters defined for indices and exponents. GETOR returns the current origin. GETPAG returns the current page size. GETPAT returns the current shading pattern. GETPLV returns the patchlevel of the current DISLIN library. GETPOS returns the position of the axis system. GETRAN returns the range of colour bars. GETRES returns the size of points used in 3-D colour graphics. GETRGB returns for RGB coordinates of the current colour. GETSCL returns the current axis scaling. GETSHF returns the control character used for European characters. GETSP1 returns the distance between axis ticks and labels. GETSP2 returns the distance between axis labels and names. GETSYM returns the current symbol number and height. GETTCL returns the current tick lengths. GETTIC returns the number of ticks plotted between labels. GETTYP returns the current line style. GETUNI returns the current unit used for messages. GETVER returns the version number of the currently used DISLIN library. GETVK returns the current lengths used for shifting. GETVLT returns the current colour table. GETWID returns the width of colour bars. GETWIN returns the position and size of the graphics window. GETXID returns the X window ID. GMXALF returns shift characters for alphabets. A.17 Elementary Plot Routines ARCELL plots elliptical arcs. AREAF plots polygons. CIRCLE plots circles. CONNPT plots a line to a point. ELLIPS plots ellipses. LINE plots lines. NOARLN suppresses the outline of geometric figures. PIE plots pie segments. POINT plots coloured rectangles where the position is defined by the centre point. RECFLL plots coloured rectangles. RECTAN plots rectangles. RNDREC plots a rectangle with rounded corners. RLARC plots elliptical arcs for user coordinates. RLAREA plots polygons for user coordinates. RLCIRC plots circles for user coordinates. RLCONN plots a line to a point (user coordinates). RLELL plots ellipses for user coordinates. RLINE plots lines for user coordinates. RLPIE plots pie segments for user coordinates. RLPOIN plots coloured rectangles for user coordinates. RLREC plots rectangles for user coordinates. RLRND plots for user coordinates a rectangle with rounded corners. RLSEC plots coloured pie sectors for user coordinates. RLSTRT moves the pen to a point (user coordinates). RLVEC plots vectors for user coordinates. SECTOR plots coloured pie sectors. STRTPT moves the pen to a point. VECTOR plots vectors. XMOVE moves the pen to a point. XDRAW plots a line to a point. A.18 Conversion of Coordinates COLRAY converts Z-coordinates to colour numbers. NXPOSN converts X-coordinates to plot coordinates. NYPOSN converts Y-coordinates to plot coordinates. NZPOSN converts Z-coordinates to colour numbers. TRFCO1 converts one-dimensional coordinates. TRFCO2 converts two-dimensional coordinates. TRFCO3 converts three-dimensional coordinates. TRFREL converts X- and Y-coordinates to plot coordi- nates. XINVRS converts X plot coordinates to user coordinates. XPOSN converts X-coordinates to real plot coordinates. YINVRS converts Y plot coordinates to user coordinates. YPOSN converts Y-coordinates to real plot coordinates. A.19 Utility Routines BEZIER calculates a Bezier interpolation. BITSI2 allows bit manipulation on 16 bit variables. BITSI4 allows bit manipulation on 32 bit variables. FCHA converts floating-point numbers to character strings. FLEN calculates the number of digits for floating- point numbers. HISTOG calculates a histogram. INTCHA converts integers to character strings. INTLEN calculates the number of digits for integers. NLMESS returns the length of character strings in plot coordinates. NLNUMB returns the length of numbers in plot coordi- nates. SORTR1 sorts floating-point numbers. SORTR2 sorts points in the X-direction. SPLINE returns splined points as calculated in CURVE. SWAPI2 swaps the bytes of 16 bit variables. SWAPI4 swaps the bytes of 32 bit variables. TRMLEN calculates the number of characters in character strings. UPSTR converts a character string to uppercase let- ters. A.20 Binary File I/O CLOSFL closes a file. OPENFL opens a file for binary I/O. POSIFL skips to a certain position relative to the start. READFL reads a given number of bytes. SKIPFL skips a number of bytes from the current posi- tion. TELLFL returns the file position. WRITFL writes a given number of bytes. A.21 Date Routines BASDAT defines the base date. INCDAT calculates incremented days. NWKDAY returns the weekday for a date. TRFDAT converts incremented days to a date. A.22 Cursor Routines CSRMOV returns collected cursor movements. CSRPT1 returns a pressed cursor position. CSRPTS returns collected cursor positions. CSRUNI defines the unit returned cursor routines. A.23 Bar Graphs BARBOR defines the colour of bar borders. BARCLR defines the colours of bars. BARGRP affects clustered bars. BARMOD selects fixed or variable bars. BAROPT sets parameters for 3-D bars. BARPOS selects predefined positions for bars. BARS plots bar graphs. BARTYP selects vertical or horizontal bars. LABCLR defines the colour of bar labels. LABDIG defines the number of decimal places in bar la- bels. LABELS defines bar labels. LABPOS defines the position of bar labels. A.24 Pie Charts CHNPIE defines colour and pattern attributes for pie segments. LABCLR defines the colour of segment labels. LABDIG defines the number of decimal places in segment labels. LABELS defines pie labels. LABPOS defines the position of segment labels. LABTYP modifies the appearance of segment labels. PIEBOR defines the colour of pie borders. PIECLR defines pie colours. PIEEXP defines exploded pie segments. PIEGRF plots pie charts. PIELAB sets additional character strings plotted in segment labels. PIEOPT sets parameters for 3-D pie charts. PIETYP selects 2-D or 3-D pie charts. PIEVEC modifies the arrow plotted between labels and segments. USRPIE is a user-defined subroutine to modify pie charts. A.25 Coloured 3-D Graphics AX3LEN defines axis lengths. COLOR defines colours. COLRAN defines the range of colour bars. CRVMAT plots a coloured surface. CURVE3 plots coloured rectangles. CURVX3 plots rows of coloured rectangles. CURVY3 plots columns of coloured rectangles. ERASE erases the screen. GRAF3 plots a coloured axis system. HSVRGB converts HSV to RGB coordinates. MYVLT changes the current colour table. NOBAR suppresses the plotting of colour bars. NOBGD suppresses the plotting of points which have the same colour as the background. NZPOSN converts a Z-coordinate to a colour number. POINT plots coloured rectangles. RECFLL plots coloured rectangles. RGBHSV converts RGB to HSV coordinates. RLPOIN plots coloured rectangles for user coordi- nates where the position is defined by the centre point. RLSEC plots coloured pie sectors for user coordinates. SECTOR plots coloured pie sectors. SETCLR defines colours. SETIND changes the current colour table. SETRES defines the size of coloured rectangles. SETRGB defines colours. SETVLT selects a colour table. VKXBAR shifts colour bars in the X-direction. VKYBAR shifts colour bars in the Y-direction. WIDBAR defines the width of colour bars. ZAXIS plots linearly scaled colour bars. ZAXLG plots logarithmically scaled colour bars. A.26 3-D Graphics ABS3PT converts absolute 3-D coordinates to plot coordinates. AXIS3D defines the lengths of the 3-D box. BOX3D plots a border around the 3-D box. CONN3D plots a line to a point in 3-D space. CURV3D plots curves or symbols. FLAB3D disables the suppression of axis labels. GETMAT calculates a function matrix from randomly distributed data points. GRAF3D plots an axis system. GRFFIN terminates a projection into 3-D space. GRFINI initializes projections in 3-D space. GRID3D plots a grid. MDFMAT modifies the algorithm used in GETMAT. NOHIDE disables the hidden-line algorithm. POS3PT converts user coordinates to absolute 3-D coordinates. REL3PT converts user coordinates to plot coordinates. SHDMOD defines flat or smooth shading for surfaces. SHLSUR protects surfaces from overwriting. STRT3D moves the pen to a point. SURCLR selects surface colours. SURFCE plots the surface of a function matrix. SURFCP plots a shaded surface of a parametric function. SURFUN plots the surface of the function Z = F(X,Y). SURMAT plots the surface of a function matrix. SURMSH enables grid lines for SURSHD and SURFCP. SUROPT suppresses surfaces lines plotted by SURFCE. SURSHD plots a coloured surface. SURVIS determines the visible part of surfaces. VANG3D defines the field of view. VECTR3 plots vectors in 3-D space. VFOC3D defines the focus point. VIEW3D defines the viewpoint. VUP3D defines the camera orientation. ZBFFIN terminates the Z-buffer.. ZBFINI allocates space for a Z-buffer. ZBFLIN plots lines. ZBFTRI plots triangles. ZSCALE defines a Z-scaling for coloured surfaces. A.27 Geographical Projections CURVMP plots curves or symbols. GRAFMP plots a geographical axis system. GRIDMP plots a grid. MAPBAS defines a base map. MAPLEV specifies land or lake plotting. MAPMOD modifies the connection of points used in CURVMP. MAPPOL defines the map pole used for azimuthal pro- jections. MAPREF defines two latitudes used for conical pro- jections. POS2PT converts user coordinates to plot coordinates. PROJCT selects a projection. SHDEUR shades European countries. SHDMAP shades continents. WORLD plots coastlines and lakes. XAXMAP plots a secondary X-axis. YAXMAP plots a secondary Y-axis. A.28 Contouring CONCRV plots generated contours. CONGAP affects the spacing between contour lines and labels. CONLAB defines a character string used for contour labels. CONMAT plots contours. CONMOD affects the position of contour labels. CONPTS generates contours. CONSHD plots shaded contours. CONTUR plots contours. LABCLR defines the colour of contour labels. LABDIS defines the distance between labels. LABELS defines contour labels. SHDMOD sets the algorithm for shaded contours. A.29 Image Routines IMGINI initializes transfering of image data. IMGFIN terminates transfering of image data. RBFPNG stores an image as PNG file in a buffer. RIMAGE copies an image from memory to a file. RPIXEL reads a pixel from memory. RPIXLS reads image data from memory. RPNG stores an image as a PNG file. RPXROW reads a row of image data from memory. RTIFF stores an image as a TIFF file. TIFORG defines the position of TIFF files copied with WTIFF. TIFWIN defines a clipping window for TIFF files copied with WTIFF. WIMAGE copies an image from file to memory. WPIXEL writes a pixel to memory. WPIXLS writes image data to memory. WPXROW write a row of image data to memory. WTIFF copies a TIFF file created by DISLIN to memory. A.30 Window Routines CLSWIN closes a window. OPNWIN opens a window for graphics output. SELWIN selects a window for graphics output. WINAPP defines a window or console application. WINDOW defines the position and size of windows. WINID returns the ID of the currently selected window. WINKEY defines a key that can be used for program WINMOD affects the handling of windows in the termi- nation routine DISFIN. WINSIZ defines the size of windows. WINTIT sets the title of the currently selected window. X11MOD enables backing store. A.31 Widget Routines DWGBUT displays a message that can be answered with 'Yes' or 'No'. DWGFIL creates a file selection box. DWGLIS gets a selection from a list of items. DWGMSG displays a message. DWGTXT prompts an user for input. GETDSP returns the terminal type. GWGATT requests a widget attribute. GWGBOX requests the value of a box widget. GWGBUT requests the status of a button widget. GWGFIL requests the value of a file widget. GWGLIS requests the value of a list widget. GWGSCL requests the value of a scale widget. GWGTXT requests the value of a text widget. GWGXID returns the window ID for a widget. ITMCAT concatenates an element to a list string. ITMCNT calculates the number of elements in a list string. ITMSTR extracts an element from a list string. MSGBOX prints a message. SWGATT sets widget attributes. SWGBOX changes the selection of a box widget. SWGBUT changes the status of a button widget. SWGCBK connects a widget with a callback routine. SWGDRW defines the height of draw widgets SWGFIL changes the value of a file widget. SWGHLP sets a character string that will be displayed if the Help menu is clicked. SWGJUS defines the alignment of label widgets. SWGLIS changes the selection of a list widget. SWGMIX defines control characters. SWGMRG defines widget margins. SWGOPT sets a center option for the parent widget. SWGPOP modifies the appearance of the popup menubar. SWGPOS defines the position of widgets. SWGSCL changes the value of a scale widget. SWGSIZ defines the size of widgets. SWGSPC modifies the space between widgets. SWGTIT sets a title for the main widget. SWGTXT changes the value of a text widget. SWGTYP modifies the appearance of widgets. SWGWIN defines the position and size of widgets. SWGWTH sets the default width of widgets. WGAPP creates an entry in a popup menu. WGBAS creates a container wdiget. WGBOX creates a list widget where the list elements are displayed as toggle buttons. WGBUT creates a button widget. WGCMD creates a command widget. WGDLIS creates a dropping list widget. WGDRAW creates a draw widget. WGFIL creates a file widget. WGFIN terminates widget routines. WGINI creates a main widget and initalizes widget routines. WGLAB creates a label widget. WGLIS creates a list widget. WGLTXT creates a labeled text widget. WGOK creates a OK push button widget. WGPBUT creates a push button widget. WGPOP creates a popup menu. WGQUIT creates a QUIT push button widget. WGSCL creates a scale widget. WGTXT creates a text widget. A.32 Quickplots QPLBAR plots a bar graph. QPLCLR plots a colour surface of a matrix. QPLCON plots a contour lines of a matrix. QPLPIE plots a pie chart. QPLOT makes a curve plot. QPLSCA makes a scatter plot. QPLSUR plots a surface of a matrix. A.33 MPAe Emblem MPAEPL plots the MPAe emblem. MPLANG defines a rotation angle for the MPAe emblem. MPLCLR defines the fore- and background colours of the MPAe emblem. MPLPOS defines the position of the MPAe emblem. MPLSIZ defines the size of the MPAe emblem. NOFILL suppresses the shading of the MPAe emblem.