Name: ERASE 1,22 The routine ERASE clears the screen of a colour graphics system or of a graphics terminal. In general, this is done by DISINI at the beginning of a plot. The call is: CALL ERASE level 1, 2, 3 or: void erase (); Name: GRAF3 6,22 The routine GRAF3 plots a 3-D axis system where the Z-axis is plotted as a colour bar. The call is: CALL GRAF3 (XA, XE, XOR, XSTEP, YA, YE, YOR, YSTEP, ZA, ZE, ZOR, ZSTEP) level 1 or: void graf3 (float xa, float xe, float xor, float xstep, float ya, float ye, float yor, float ystep, float za, float ze, float zor, float zstep); XA, XE are the lower and upper limits of the X-axis. XOR, XSTEP are the first X-axis label and the step between labels. YA, YE are the lower and upper limits of the Y-axis. YOR, YSTEP are the first Y-axis label and the step between labels. ZA, ZE are the lower and upper limits of the Z-axis. ZOR, ZSTEP are the first Z-axis label and the step between labels. Note: GRAF3 must be called from level 1 and sets the level to 3. For furthers Notes, the user is refer- red to the routine GRAF. Name: ZAXIS 7,22 The routine ZAXIS plots a linearly scaled colour bar. The call is: CALL ZAXIS (A, B, OR, STEP, NL, CSTR, IT, NDIR, NX, NY) level 1, 2, 3 or: void zaxis (float a, float b, float or, float step, int nl, char *cstr, int it, int ndir, int nx, int ny); A, B are the lower and upper limits of the colour bar. OR, STEP are the first label and the step between labels. NL is the length of the colour bar in plot coordina- tes. CSTR is a character string containing the axis name. IT indicates how ticks, labels and the axis name are plotted. If IT = 0, they are plotted in a clock- wise direction. If IT = 1, they are plotted in a counter-clockwise direction. NDIR defines the direction of the colour bar. If NDIR = 0, a vertical colour bar will be plotted; if NDIR = 1, a horizontal colour bar will be plotted. NX, NY are the plot coordinates of the lower left corner. Name: ZAXLG 7,22 The routine ZAXLG plots a logarithmically scaled colour bar. The call is: CALL ZAXLG (A, B, OR, STEP, NL, CSTR, IT, NDIR, NX, NY) level 1, 2, 3 or: void zaxlg (float a, float b, float or, float step, int nl, char *cstr, int it, int ndir, int nx, int ny); A, B are the lower and upper limits of the colour bar. OR, STEP are the first label and the step between labels. NL is the length of the colour bar in plot coordi- nates. CSTR is a character string containing the axis name. IT indicates how ticks, labels and the axis name are plotted. If IT = 0, they are plotted in a clock- wise direction. If IT = 1, they are plotted in a counter-clockwise direction. NDIR defines the direction of the colour bar. If NDIR = 0, a vertical colour bar will be plotted; if NDIR = 1, a horizontal colour bar will be plotted. NX, NY are the plot coordinates of the lower left corner. Name: CURVE3 22 The routine CURVE3 plots three-dimensional data points. The call is: CALL CURVE3 (XRAY, YRAY, ZRAY, N) level 3 or: void curve3 (float *xray, float *yray, float *zray, int n); XRAY is an array containing the X-coordinates of data points. YRAY is an array containing the Y-coordinates of data points. ZRAY is an array containing the Z-coordinates of data points. N is the number of data points. Name: CURVX3 22 The routine CURVX3 plots three-dimensional data points. The call is: CALL CURVX3 (XRAY, Y, ZRAY, N) level 3 or: void curvx3 (float *xray, float y, float *zray, int n); XRAY is an array containing the X-coordinates of data points. Y is the Y-position of a row of data points. ZRAY is an array containing the Z-coordinates of data points. N is the number of data points. Name: CURVY3 22 The routine CURVY3 plots three-dimensional data points. The call is: CALL CURVY3 (X, YRAY, ZRAY, N) level 3 or: void curvy3 (float x, float *yray, float *zray, int n); X is the X-position of a column of data points. YRAY is an array containing the Y-coordinates of data points. ZRAY is an array containing the Z-coordinates of data points. N is the number of data points. Name: CRVMAT 22 The routine CRVMAT plots a coloured surface according to a ma- trix. The call is: CALL CRVMAT (ZMAT, IXDIM, IYDIM, IXPTS, IYPTS) level 3 or: void crvmat (float *zmat[], int ixdim, int iydim, int ixpts, int iypts); ZMAT is a matrix of the dimension (IXDIM, IYDIM) con- taining Z-coordinates. The coordinates correspond to a linear grid that overlays the axis system. If XA, XE, YA and YE are the axis limits in GRAF3 or values defined with the routine SURSZE, the rela- tionship between the grid points and the matrix elements can be described by the formula: ZMAT(I,J) = F(X,Y) where X = XA + (I - 1) * (XE - XA) / (IXDIM - 1) Y = YA + (J - 1) * (YE - YA) / (IYDIM - 1). IXDIM, IYDIM define the dimension of ZMAT (>= 2). IXPTS, IYPTS is the number of interpolation steps between grid lines (>= 1). CRVMAT can interpolate points line- arly. Name: SETRES 22 SETRES defines the size of rectangles plotted by CURVE3, CURVY3 and CRVMAT. The call is: CALL SETRES (NPB, NPH) level 1, 2, 3 or: void setres (int npb, int nph); NPB, NPH are the width and height of rectangles in plot co- ordinates (> 0). Default: (1,1). Name: AUTRES 22 With a call to AUTRES, the size of coloured rectangles will be automatically calculated by GRAF3 or CRVMAT. The call is: CALL AUTRES (IXDIM, IYDIM) level 1 or: void autres (int ixdim, int iydim); IXDIM, IYDIM are the number of data points in the X- and Y- direction. Name: SETCLR 22 The routine SETCLR defines the colour used for text and lines. The call is: CALL SETCLR (NCOL) level 1, 2, 3 or: void setclr (int ncol); NCOL is a colour number in the range 0 to 255. Default: NCOL = 255 (White). Name: SETRGB 22 The routine SETRGB defines the foreground colour specified in RGB coordinates. SETRGB sets the nearest entry in the colour table that matches the RGB coordinates. This means that a colour will not be defined exactly if it is not contained in the colour table. The call is: CALL SETRGB (XR, XG, XB) level 1, 2, 3 or: void setrgb (float xr, float xg, float xb); XR, XG, XB are the RGB coordinates of a colour in the range 0 to 1. Name: AX3LEN 22 The routine AX3LEN defines the axis lengths of a coloured axis system. The call is: CALL AX3LEN (NXL, NYL, NZL) level 1 or: void ax3len (int nxl, int yl, int nzl); NXL, NYL, NZL are the axis lengths in plot coordinates. Name: WIDBAR 22 The routine WIDBAR defines the width of the colour bar. The call is: CALL WIDBAR (NZB) level 1, 2, 3 or: void widbar (int nzb); NZB is the width in plot coordinates. Default NZB = 85 Name: VKXBAR 22 The routine VKXBAR defines horizontal shifting of colour bars. The distance between the colour bar and the axis system is, by default, 85 plot coordinates. The call is: CALL VKXBAR (NVFX) level 1, 2, 3 or: void vkxbar (int nvfx); NVFX is an integer that defines the shifting. If NVFX is positive, the colour bar will be shifted right; if NVFX is negative the colour bar will be shifted left. Default: NVFX = 0 Name: VKYBAR 22 This routine VKYBAR defines a vertical shifting of colour bars. The call is: CALL VKYBAR (NVFY) level 1, 2, 3 or: void nkybar (int nvfy); NVFY is an integer that defines the shifting. If NVFY is positive, the colour bar will be shifted up; if NVFY is negative, the colour bar will be shifted down. Default: NVFY = 0 Name: NOBAR 22 The routine NOBAR instructs DISLIN to suppress the plotting of colour bars. The call is: CALL NOBAR level 1, 2, 3 or: void nobar (); Name: COLRAN 22 The routine defines the range of colours used for colour bars. By default, the range is 1 to 254. The call is: CALL COLRAN (NCA, NCE) level 1, 2, 3 or: void colran (int nca, int nce); NCA, NCE are colour numbers in the range 1 to 254. Default: (1, 254). Name: NOBGD 22 With a call to the routine NOBGD, the plotting of points with the colour 0 will be suppressed. This reduces plotting time and the size of plotfiles. The call is: CALL NOBGD level 1, 2, 3 or: void nobgd (); Name: SETVLT 22 SETVLT selects a colour table. The call is: CALL SETVLT (CVLT) level 1, 2, 3 or: void setvlt (char *cvlt); CVLT is a character string that defines the colour table. = 'SMALL' defines a small colour table with the 8 colours: 1 = BLACK, 2 = RED, 3 = GREEN, 4 = BLUE, 5 = YELLOW, 6 = ORANGE, 7 = CYAN and 8 = MAGENTA. = 'VGA' defines the 16 standard colours of a VGA graphics card. = 'RAIN' defines 256 colours arranged in a rainbow where 0 means black and 255 means white. = 'SPEC' defines 256 colours arranged in a rainbow where 0 means black and 255 means white. This colour table uses more violet colours than 'RAIN'. = 'GREY' defines 256 grey scale colours where 0 means black and 255 is white. = 'RRAIN' is the reverse colour table of 'RAIN'. = 'RSPEC' is the reverse colour table of 'SPEC'. = 'RGREY' is the reverse colour table of 'GREY'. The default colour table for a PostScript file created with the keyword 'POST' in METAFL is 'RGREY' and otherwise 'RAIN'. Name: MYVLT 22 The routine MYVLT changes the current colour table. The call is: CALL MYVLT (XR, XG, XB, N) level 0, 1, 2, 3 or: void myvlt (float *xr, float * xg, float *xb, int n) XR, XG, XB are arrays containing RGB coordinates in the range 0 to 1. N is the number of colour entries. Note: MYVLT can also be called before DISINI. Name: SETIND 22 The routine SETIND allows the user to change the current colour table. The call is: CALL SETIND (INDEX, XR, XG, XB) level 1, 2, 3 or: void setind (int index, float xr, float xg, float xb); INDEX is an index between 0 and 255. XR, XG, XB are the RGB coordinates of a colour in the range 0 to 1. Name: HSVRGB 22 The routine HSVRGB converts HSV coordinates to RGB coordinates. The call is: CALL HSVRGB (XH, XS, XV, XR, XG, XB) level 1, 2, 3 or: void hsvrgb (float xh, float xs, float xv, float *xr, float *xg, float *xb); XH, XS, XV are the hue, saturation and value of a colour. XH must be in the range 0 to 360 degrees while XS and XV can have values between 0 and 1. In the HSV model, colours lie in a spectral order on a six- sided pyramid where red corresponds to the angle 0, green to 120 and blue to 240 degrees. XR, XG, XB are the RGB coordinates in the range 0 to 1 calcu- lated by HSVRGB. Name: RGBHSV 22 The routine RGBHSV converts RGB coordinates to HSV coordinates. The call is: CALL RGBHSV (XR, XG, XB, XH, XS, XV) level 1, 2, 3 or: void rgbhsv (float xr, float xg, float xb, float *xh, float *xs, float *xv); XR, XG, XB are the RGB coordinates in the range 0 to 1 XH, XS, XV are the HSV coordinates calculated by RGBHSV (see also HSVRGB). Name: REVSCR 22 The routine REVSCR exchanges the colours with the indices 0 and 255. The call is: CALL REVSCR level 1, 2, 3 or: void revscr (); Name: EXPZLB 22 The routine EXPZLB expands the numbering of a logarithmically scaled Z-axis to the next order of magnitude that lies up or down the axis limits. The scaling of the colour bar will not be changed. This routine is useful if the range of the Z-axis scaling is smaller than 1 order of magnitude. The call is: CALL EXPZLB (CSTR) level 1, 2, 3 or: void expzlb (char *cstr); CSTR is a character string defining the expansion of the Z-axis numbering. = 'NONE' means that the numbering will not be expanded. = 'FIRST' means that the numbering will be expanded down- wards. = 'BOTH' means that the numbering will be expanded down- and upwards. Default: CSTR = 'NONE'. Name: IMGINI 26 The routine IMGINI initializes transfering of image data with the routines RPIXLS, RPXROW, WPIXLS and WPXROW. The call is: CALL IMGINI level 1, 2, 3 or: void imgini (); Name: IMGFIN 26 The routine IMGFIN terminates transfering of image data with the routines RPIXLS, RPXROW, WPIXLS and WPXROW. The call is: CALL IMGFIN level 1, 2, 3 or: void imgfin (); Name: RPXROW 26 The routine RPXROW copies one line of colour values from memory to an array. The call is: CALL RPXROW (IRAY, IX, IY, N) level 1, 2, 3 or: void rpxrow (unsigned char *iray, int ix, int iy, int n) IRAY is an byte array containing the returned colour values. IX, IY contain the starting point in screen coordinates. N is the number of image data. Note: IMGINI and IMGFIN must be used with RPXROW. Name: WPXROW 26 The routine WPXROW copies colour values from an array to a line in memory. The call is: CALL WPXROW (IRAY, IX, IY, N) level 1, 2, 3 or: void wpxrow (unsigned char *iray, int ix, int iy, int n) IRAY is an byte array containing the colour values. IX, IY contain the starting point in screen coordinates. N is the number of image data. Note: IMGINI and IMGFIN must be used with WPXROW. Name: RPIXEL 26 The routine RPIXEL reads one pixel from memory. The call is: CALL RPIXEL (IX, IY, ICLR) level 1, 2, 3 or: void rpixel (int ix, int iy, int *iclr); IX, IY is the position of the pixel in screen coordina- tes. ICLR is the returned colour value of the pixel. Name: RPIXLS 26 The routine RPIXLS copies colour values from a rectangle in me- mory to an array. The call is: CALL RPIXLS (IRAY, IX, IY, NW, NH) level 1, 2, 3 or: void rpixls (unsigned char *iray, int ix, int iy, int nw, int nh); IRAY is a byte array containing the returned colour va- lues. IX, IY contain the starting point in screen coordinates. NW, NH are the width and height of the rectangle in screen coordinates. Note: IMGINI and IMGFIN must be used with RPIXLS. Name: WPIXEL 26 The routine WPIXEL writes one pixel into memory. The call is: CALL WPIXEL (IX, IY, ICLR) level 1, 2, 3 or: void wpixel (int ix, int iy, int iclr); IX, IY is the position of the pixel in screen coordina- tes. ICLR is the new colour value of the pixel. Name: WPIXLS 26 The routine WPIXLS copies colour values from an array to a rec- tangle in memory. The call is: CALL WPIXLS (IRAY, IX, IY, NW, NH) level 1, 2, 3 or: void wpixls (unsigned char *iray, int ix, int iy, int nw, int nh); IRAY is a byte array containing the colour values. IX, IY contain the starting point in screen coordinates. NW, NH are the width and height of the rectangle in screen coordinates. Note: IMGINI and IMGFIN must be used with WPIXLS. Name: RIMAGE 26 The routine RIMAGE copies an image from memory to a file. The call is: CALL RIMAGE (CFIL) level 1, 2, 3 or: void rimage (char *cfil); CFIL is the name of the outout file. A new file version will be created for existing files (see FILMOD). Note: The fileformat in METAFL must be 'CONS' or 'XWIN'. Name: WIMAGE 26 The routine WIMAGE copies an image from a file to memory. The call is: CALL WIMAGE (CFIL) level 1, 2, 3 or: void wimage (char *cfil); CFIL is the name of the input file. Note: The fileformat in METAFL must be 'CONS' or 'XWIN'. Name: RTIFF 26 The routine RTIFF copies an image from memory to a file. The image is stored in the device-independent TIFF format. The call is: CALL RTIFF (CFIL) level 1, 2, 3 or: void rtiff (char *cfil); CFIL is the name of the outout file. A new file version will be created for existing files (see FILMOD). Notes: - This image format can be used to export images created with DISLIN into other software packages or to transfer to other computer systems. - A TIFF file created by DISLIN can be displayed with the routine WTIFF or with the utility program DISTIF. Name: WTIFF 26 The routine WTIFF copies a TIFF file created by DISLIN to memo- ry. The call is: CALL WTIFF (CFIL) level 1, 2, 3 or: void wtiff (char *cfil); CFIL is the name of the input file. Note: The position of the TIFF file and a clipping win- dow can be defined with the routines TIFORG and TIFWIN. Name: TIFORG 26 The routine TIFORG defines the upper left corner of the screen where the TIFF file is copied to. The call is: CALL TIFORG (NX, NY) level 1, 2, 3 NX, NY is the upper left corner in screen coordinates. Name: TIFWIN 26 The routine TIFWIN defines a clipping window of the TIFF file that can be copied with the routine WTIFF to the screen. The call is: CALL TIFWIN (NX, NY, NW, NH) level 1, 2, 3 NX, NY is the upper left corner of the clipping window in pixels. NW, NH are the width and height of the clipping window in pixels. Name: RPNG 26 The routine RPNG copies an image from memory to a PNG file. The call is: CALL RPNG (CFIL) level 1, 2, 3 or: void rpng (char *cfil); CFIL is the name of the output file. A new file version will be created for existing files (see FILMOD). Name: RBFPNG 26 The routine RBFPNG copies an image from memory as a PNG file to a buffer. The call is: CALL RBFPNG (CBUF, NMAX, N) level 1, 2, 3 or: int rbfpng (char *cbuf, int nmax); CBUF is a character buffer where the image is copied to in PNG format. NMAX defines how many bytes can be copied to CBUF. N is the returned length of the buffer. N <= 0, if an error occurs. Name: OPNWIN 27 The routine OPNWIN creates a new window for graphics output on the screen. The call is: CALL OPNWIN (ID) level 1, 2, 3 or: void opnwin (int id); ID is the window number between 1 and 5. Normally, window 1 will be created in the lower right cor- ner, window 2 in the upper right corner, window 3 in the upper left corner, window 4 in the lower left corner and window 5 in the center of the screen. Notes: - The fileformat must be set to X window emulation in the routine METAFL (i.e. with the keyword 'XWIN'). - The size and position of windows can be changed with the routines WINDOW and WINSIZ. - Windows can be closed and selected with the rou- tines CLSWIN and SELWIN. - A created window with OPNWIN is automatically se- lected for graphics output. Name: CLSWIN 27 The routine CLSWIN closes a window created with OPNWIN. The call is: CALL CLSWIN (ID) level 1, 2, 3 or: void clswin (int id); ID is the window number between 1 and 5. Name: SELWIN 27 The routine SELWIN selects a window on the screen where the fol- lowing graphics output will be sent to. The call is: CALL SELWIN (ID) level 1, 2, 3 or: void selwin (int id); ID is the window number between 1 and 5. Name: WINID 27 The routine WINID returns the ID of the currently selected win- dow. The call is: CALL WINID (ID) level 1, 2, 3 or: int winid (); ID is the returned window number between 1 and 5. Name: WINTIT 27 The routine WINTIT changes the window title of the currently selected window. The call is: CALL WINTIT (CSTR) level 1, 2, 3 or: void wintit (char *cstr); CSTR is a character string containing the new window title. Name: RECFLL 22 The routine RECFLL plots a coloured rectangle where the position is determined by the upper left corner. The call is: CALL RECFLL (NX, NY, NB, NH, NCOL) level 1, 2, 3 or: void recfll (int nx, int ny, int nb, int nh, int ncol); NX, NY are the plot coordinates of the upper left corner. NB, NH are the width and height in plot coordinates. NCOL is a colour index in the range 0 to 255. Name: POINT 22 The routine POINT plots a coloured rectangle where the position is determined by the centre. The call is: CALL POINT (NX, NY, NB, NH, NCOL) level 1, 2, 3 or: void point (int nx, int ny, int nb, int nh, int ncol); NX, NY are the plot coordinates of the centre point. NB, NH are the width and height in plot coordinates. NCOL is a colour index in the range 0 to 255. Name: RLPOIN 22 The routine RLPOIN plots a coloured rectangle where the position is specified in user coordinates. The call is: CALL RLPOIN (X, Y, NB, NH, NCOL) level 2, 3 or: void rlpoin (float x, float y, int nb, int nh, int ncol); Note: RLPOIN clips rectangles at the borders of an axis system. Name: SECTOR 22 The routine SECTOR plots coloured pie sectors. level 1, 2, 3 The call is: CALL SECTOR (NX, NY, NR1, NR2, ALPHA, BETA,NCOL) or: void sector (int nx, int ny, int nr1, int nr2, float alpha, float beta, int ncol); NX, NY are the plot coordinates of the centre point. NR1 is the interior radius. NR2 is the exterior radius. ALPHA, BETA are the start and end angles measured in degrees in a counter-clockwise direction. NCOL is a colour index between 0 and 255. Example: CALL SECTOR (100, 100, 0, 50, 0., 360., NCOL) plots a circle around the centre (100,100) with the radius 10 and the colour NCOL. Name: RLSEC 22 The routine RLSEC plots coloured pie sectors where the centre and the radii are specified in user coordinates. The call is: CALL RLSEC (X, Y, R1, R2, ALPHA, BETA, NCOL) level 2, 3 or: void rlsec (float x, float y, float r1, float r2, float alpha, float beta, int ncol); X, Y are the user coordinates of the centre point. R1 is the interior radius. R2 is the exterior radius. ALPHA, BETA are the start and end angles measured in degrees in a counter-clockwise direction. NCOL is a colour index between 0 and 255. Notes: - For the conversion of the radii to plot coordina- tes, the scaling of the X-axis is used. - Sectors plotted by RLSEC will not be cut off at the borders of an axis system. Name: NZPOSN 22 The function NZPOSN converts a Z-coordinate to a colour number. The call is: ICLR = NZPOSN (Z) level 3 or: int nzposn (float z); Note: If Z lies outside of the axis limits and Z is smaller than the lower limit, NZPOSN returns the value 0 and the routine returns the value 255 if Z is greater than the upper limit. Name: COLRAY 22 The routine COLRAY converts an array of Z-coordinates to colour values. The call is: CALL COLRAY (ZRAY, NRAY, N) level 3 or: void colray (float *zray, int *nray, int n); ZRAY is an array of Z-coordinates. NRAY is an array of colour numbers calculated by COL- RAY. N is the number of coordinates.