Name: CONCRV 25 CONCRV plots contours generated by other software packages. The call is: CALL CONCRV (XRAY, YRAY, N, ZLEV) level 2, 3 or: void concrv (const float *xray, const float *yray, int n, float zlev); XRAY, YRAY are arrays containing the X- and Y-coordinates of a contour line. N is the number of points. ZLEV is a function value used for labels. Name: CONTUR 25 The routine CONTUR calculates and plots contours of the function Z = F(X,Y). The call is: CALL CONTUR (XRAY, N, YRAY, M, ZMAT, ZLEV) level 2, 3 or: void contur (const float *xray, int n, const float *yray, int m, const float *zmat, float zlev); XRAY is an array containing X-coordinates. N is the dimension of XRAY. YRAY is an array containing Y-coordinates. M is the dimension of YRAY. ZMAT is a matrix of the dimension (N, M) containing function values. ZLEV is a function value that defines the contour line to be calculated. ZLEV can be used for labels. Name: CONMAT 25 The routine CONMAT plots contours of the function Z = F(X,Y). The function values correspond to a linear grid in the XY-plane. The call is: CALL CONMAT (ZMAT, N, M, ZLEV) level 2, 3 or: void conmat (const float *zmat, int n, int m, float zlev); ZMAT is a matrix of the dimension (N, M) containing the function values. If XA, XE, YA and YE are the axis limits in GRAF or values defined with the routine SURSZE, the connection of grid points and matrix elements can be described by the formula: ZMAT(I,J) = F(X,Y) where X = XA + (I - 1) * (XE - XA) / (N-1), I=1,..,N Y = YA + (J - 1) * (YE - YA) / (M-1), J=1,..,M. N, M define the dimension of ZMAT. ZLEV is a function value that defines the contour line to be calculated. The value can be used for la- bels. Notes: - CONCRV, CONTUR and CONMAT use linear interpolation to connect contour points. The routine TRFMAT can be used to pass a matrix with a better resolution to CONTUR and CONMAT. - Geographical projections can be defined for con- touring. - The thickness of contours can be set with THKCRV. Line styles and colours can also be defined. - The number of matrix points in CONTUR and CONMAT is limited to N * M <= 256000 in Fortran 77. There is no limit for the C and Fortran 90 libraries of DISLIN. - To plot contours for randomly distributed points of the form X(N), Y(N) and Z(N), the routine GET- MAT can be used to calculate a function matrix, or the data can be triangulated with the routine TRI- ANG and contours can be plotted from the triangu- lation with the routine CONTRI. Name: CONTRI 25 The routine CONTRI plots contours from triangulated data that can be calculated by the routine TRIANG from a set of irregular- ly distributed data points. The call is: CALL CONTRI (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY, I3RAY, NTRI, ZLEV) level 2, 3 or: void contri (const float *xray, const float *yray, const float *zray, int n, const int *i1ray, const int *i2ray, const int *i3ray, int ntri, float zlev); 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. I1RAY, I2RAY, is the Delaunay triangulation of the points I3RAY (XRAY, YRAY) calculated by the routine TRIANG. NTRI is the number of triangles in I1RAY, I2RAY and I3RAY. ZLEV is a function value that defines the contour line to be calculated. Name: CONSHD 25 The routine CONSHD plots filled contours of the function Z = F(X,Y). Two algorithms can be selected for contour filling: a cell filling algorithm and a polygon filling algorithm. For a polygon filling, only closed contours can be filled. The algo- rithm can be defined with the routine SHDMOD. The call is: CALL CONSHD (XRAY, N, YRAY, M, ZMAT, ZLVRAY, NLEV) level 2, 3 or: void conshd (const float *xray, int n, const float *yray, int m, const float *zmat, const float *zlvray, int nlev); XRAY is an array containing X-coordinates. N is the dimension of XRAY. YRAY is an array containing Y-coordinates. M is the dimension of YRAY. ZMAT is a matrix of the dimension (N, M) containing function values. ZLVRAY is an array containing the levels. The levels must be sorted in ascending order if cell filling is selected. For polygon filling, the levels should be sorted in such a way that inner contours are plotted last. NLEV is the number of levels. Notes: - CONSHD may give better results for a higher reso- lution of ZMAT. A matrix with a higher resolution can be calculated with the routine TRFMAT. - The colours of the filled contours are calculated from a fictive colour bar where the minimum and maximum of the contour levels are used for the lower and upper limits of the colour bar. The scaling of the colour bar can be modified with the routine ZSCALE while a colour bar can be displayed with the routine ZAXIS. If the colours of the fil- led contours should not be calculated from a colour bar, they can be defined directly with the routine CONCLR. - For a cell filling, the calculation of contour colours are described in the following. The levels are sorted first in ascending order. By default, the colour of the region between two neighbouring levels is calculated from the lower value of the two levels. If you want to use the upper value, you can define it with the routine SHDMOD('UPPER', 'COLOUR'). In default mode (SHDMOD ('LOWER', 'COLOUR'), the cells below the minimum of the levels are filled with the lowermost colour of the colour bar, the cells above the maximum of the levels are filled with the uppermost colour of the colour bar. The plotting of this regions can be suppressed with the statement CALL SHDMOD ('NONE', 'CELL'). Name: CONFLL 25 The routine CONFLL plots filled contours from triangulated data that can be calculated by the routine TRIANG from a set of irre- gularily distributed data points. The call is: CALL CONFLL (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY, I3RAY, NTRI, ZLVRAY, NLEV) level 2, 3 or: void confll (const float *zray, const float *yray, const float *zray, int n, const int *i1ray, const int *i2ray, const int *i3ray, int ntri, const float *zlvray, int nlev); 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. I1RAY, I2RAY, is the Delaunay triangulation of the points I3RAY (XRAY, YRAY) calculated by the routine TRIANG. NTRI is the number of triangles in I1RAY, I2RAY and I3RAY. ZLVRAY is an array containing the levels. NLEV is the number of levels. Name: CONPTS 25 The routine CONPTS generates contours without plotting. Multiple curves can be returned for one contour level. The call is: CALL CONPTS (XRAY, N, YRAY, M, ZMAT, ZLEV, XPTRAY, YPTRAY, MAXPTS, IRAY, MAXCRV, NCURVS) level 0, 1, 2, 3 or: void conpts (const float *xray, int n, const float *yray, int m, const float *zmat, float zlev, float *xptray, float *yptray, int maxpts, int *iray, int maxcrv, int *ncurvs); XRAY is an array containing X-coordinates. N is the dimension of XRAY. YRAY is an array containing Y-coordinates. M is the dimension of YRAY. ZMAT is a matrix of the dimension (N, M) containing function values. ZLEV is a function value that defines the contour line to be calculated. XPTRAY, are returned arrays containing the calculated YPTRAY contour. The arrays can contain several curves. MAXPTS is the maximal number of points that can be passed to XPTRAY and YPTRAY. IRAY is a returned integer array that contains the num- ber of points for each generated contour curve. MAXCRV is the maximal number of entries that can be passed to IRAY. NCURVS is the returned number of generated curves. Name: TRIPTS 25 The routine TRIPTS generates contours from triangulated data without plotting. Multiple curves can be returned for one con- tour level. The call is: CALL TRIPTS (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY, I3RAY, NTRI, ZLEV, XPTRAY, YPTRAY, MAXPTS, IRAY, MAXCRV, NCURVS) level 0, 1, 2, 3 or: void tripts (const float *xray, const float *yray, const float *zray, int n, const int *i1ray, const int *i2ray, const int *i3ray, int ntri, float zlev, float *xptray, float *yptray, int maxpts, int *iray, int maxcrv, int *ncurvs); 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. I1RAY, I2RAY, is the Delaunay triangulation of the points I3RAY (XRAY, YRAY) calculated by the routine TRIANG. NTRI is the number of triangles in I1RAY, I2RAY and I3RAY. ZLEV is a function value that defines the contour line to be calculated. XPTRAY, are returned arrays containing the calculated YPTRAY contour. The arrays can contain several curves. MAXPTS is the maximal number of points that can be passed to XPTRAY and YPTRAY. IRAY is a returned integer array that contains the num- ber of points for each generated contour curve. MAXCRV is the maximal number of entries that can be passed to IRAY. NCURVS is the returned number of generated curves. Name: LABCLR 20,21,25 The routine LABCLR defines the colour of bar, pie and contour labels. The call is: CALL LABCLR (NCLR, COPT) level 1, 2, 3 or: void labclr (int nclr, const char *copt); NCLR is a colour value. If NCLR = -1, the labels will be plotted with the current colour. COPT is a character variable that can have the values "BARS", "PIE", and "CONTUR" Default: NCLR = -1 Name: CONLAB 25 The routine CONLAB defines a character string which will be used for labels if the routine LABELS is called with the parameter 'CONLAB'. The call is: CALL CONLAB (CLAB) level 1, 2, 3 or: void conlab (const char *clab); CLAB is a character string containing the label. Default: CLAB = ' '. Name: CONMOD 25 The routine CONMOD modifies the appearance of contour labels. By default, DISLIN suppresses the plotting of labels at a position where the contour is very curved. To measure the curvature of a contour for an interval, DISLIN calculates the ratio between the arc length and the length of the straight line between the in- terval limits. If the quotient is much greater than 1, the con- tour l ine is very curved in that interval. The call is: CALL CONMOD (XFAC, XQUOT) level 1, 2, 3 or: void conmod (float xfac, float xquot); XFAC defines the length of intervals (>= 0). The curva- ture of contours will be tested in intervals of the length (1 + XFAC) * W where W is the label length. XQUOT defines an upper limit for the quotient of arc length and length of the straight line (> 1). If the quotient is greater than XQUOT, the plotting of labels will be suppressed in the tested inter- val. Default: (0.5, 1.5). Name: CONGAP 25 The routine CONGAP defines the distance between contour lines and labels. The call is: CALL CONGAP (XFAC) level 1, 2, 3 or: void congap (float xfac); XFAC is a real number used as a scaling factor. The distance between contour lines and labels is set to XFAC * NH where NH is the current character height. Default: XFAC = 0.5. Name: SHDMOD 25,23 The routine SHDMOD defines flat or smooth shading for surfaces, or an algorithm used for contour filling. The call is: CALL SHDMOD (COPT, CKEY) level 1, 2, 3 or: void shdmod (const char *copt, const char *ckey); CKEY is a character string containing one of the fol- lowing keywords: = 'CONTUR' defines the algorithm used for contour filling. COPT can have the values 'CELL' and 'POLY'. The default value is COPT = 'CELL'. = 'CELL' modifies the cell filling algorithm. COPT can have the values 'BOTH', 'UPPER', 'LOWER' and 'NONE'. If COPT = 'NONE', the filling of the regions below and above the level limits are suppressed. If COPT = 'UPPER', the filling of the region below the lowermost level is suppressed. COPT = 'LOWER' means that the filling of the regi- on above the uppermost level is suppressed. By de- fault, both regions described above are filled. = 'COLOR' modifies the calculation of colours for cell fil- ling. COPT can have the values 'LOWER', 'MIDDLE' and 'UPPER'. For COPT = 'LOWER', the lower value of two neighbouring levels is used for colour calculation, for COPT = 'UPPER', the upper value of two neighbouring levels is used, and for COPT = 'MIDDLE', the mean value of the two levels is used for colour calculation. The default value is COPT = 'LOWER'. = 'SURFACE' defines flat or smooth shading for surfaces. COPT can have the values 'FLAT' and 'SMOOTH'. The de- fault value is COPT = 'FLAT'. = 'CULLING' If CKEY = 'CULLING', COPT can have the values 'ON', 'OFF' and 'FRONT'. COPT = 'ON' enables back- face culling, 'COPT' = 'FRONT' enables front face culling and COPT = 'OFF' disables face cul- ling. By default, backface culling is enabled. This means that faces with a clockwise orientation of vertices will not be plotted. = 'SYMBOLS' This option defines 2-D or 3-D symbols for the routine CURV3D. COPT can have the values '2D' and '3D'. The default value is COPT = '2D'. = 'CURVE' This option defines 2-D or 3-D curves for the routine CURV3D. COPT can have the values '2D' and '3D'. The default value is COPT = '2D'. = 'ZSCALE' This option enables or disables the calculating of colour values from the Z-coordinates in the rou- tines SURSHD, SURFCP and SURTRI. COPT can have the values 'ON' and 'OFF'. The default value is COPT = 'ON'. Name: CONCLR 25 The routine CONCLR defines colours for filled contour lines. The call is: CALL CONCLR (NCRAY, N) level 1, 2, 3 or: void conclr (const int *ncray, int n); NCRAY is an integer array containing colour numbers. N is the number of entries in NCRAY (<= 256).