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 (float *xray, 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 (float *xray, int n, float *yray, 
                              int m, 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 (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.
            - 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-
ily distributed data points.
The call is:  CALL CONTRI (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY,
                           I3RAY, NTRI, ZLEV)         level 2, 3
         or:  void contri (float *zray, float *yray, 
                    float *zray, int n, int *i1ray, int *i2ray,
                    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 (float *xray, int n, float *yray,
                           int m, float *zmat, 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.
Note:         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.
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 CONTRI (XRAY, YRAY, ZRAY, N, I1RAY, I2RAY,
                        I3RAY, NTRI, ZLVRAY, NLEV)    level 2, 3
         or:  void contri (float *zray, float *yray, 
                 float *zray, int n, int *i1ray, int *i2ray,
                 int *i3ray, int ntri, 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 (float *xray, int n, float *yray,
                           int m, 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: LABCLR  20,21,25
The routine LABCLR defines the colour of contour labels.
The call is:  CALL LABCLR (NCLR, 'CONTUR')         level 1, 2, 3
         or:  void labclr (int nclr, "CONTUR");
NCLR          is a colour number between  -1 and 255.  If NCLR =
              -1,  the contour labels  will be plotted  with the
              current  colour.
                                              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 (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, CTYPE)         level 1, 2, 3
         or:  void shdmod (char *copt, char *ctype);
COPT          is a character string defining the algorithm.
 = 'CELL'     defines cell filling for contours.
 = 'POLY'     defines polygon filling for contours.
 = 'FLAT'     defines flat shading for surfaces.
 = 'SMOOTH'   defines smooth shading for surfaces.
CTYPE         is a character string that can have the  values
              'CONTOUR' and 'SURFACE'.
                               Default:  ('CELL', 'CONTOUR'),
                                         ('FLAT', 'SURFACE').
Name: CONCLR  25
The routine CONCLR defines colours for filled contour lines.
The call is:  CALL CONCLR (NCRAY, N)               level 1, 2, 3
NCRAY         is an integer array containing colour numbers.
N             is the number of entries in NCRAY.
