|
3.62
CCNTUR Subroutine
  
The CCNTUR subroutine converts the grid of control points into a set of
contours and draws the contours and/or fills the surface area between the
contour lines with a color pattern. The drawing is made in two
dimensions in the area shown in Figure 6
or three dimensions in the area as shown in figure
8. The grid to be contoured ( z) can be generated from random
control points using ZGRID or DGRID. The contour levels drawn can be
determined by a prior call to ZLEVEL.
No contours will be drawn in an area of the grid set to "undefined"(1.0E35). The contours are
drawn in two or three dimensions depending on the value of iform in
the last call to DISP3D (Section
3.56).
This function is similar to ZCNTUR with the addition of the color filled
surface patterns. CCNTUR is based on the ACM algorithm 671 (FARB-E-2D)
with extensions for bad value processing and 3D representation.
Calling Sequence:
CALL CCNTUR
( z, nxsize, nysize, nx, ny, xlplot, ylplot, xhplot,
yhplot, zlev, ldig, lwgt, nlev, hgt, icol, mode, xtmp, ytmp)
Parameters:
Parameter
Type Value Description
z
real
two-dimensional array of control
array
points that is to be contoured.
nxsize
integer 3
number of rows in z as dimensioned
in the main program. See Section 2.5.
nysize
integer
3 number
of columns in z as
dimensioned in the main program.
nx
integer 3
number of rows in z that are
nxsize actually used.
ny
integer
3
number of columns in z that are
nysize
actually used.
xlplot, ylplot
real
for two-dimensional drawings,
(xlplot,ylplot) defines the
map in inches.
for three-dimensional drawings,
(xlplot,ylplot) defines the
lower left hand corner of the
map in world units. Usually
(xlow,ylow) as passed to ZGRID
is used (see figures 5 and 8).
xhplot, yhplot
real
for two-dimensional drawings,
(xhplot,yhplot) defines the
upper right hand corner of the
map in inches.
for three-dimensional drawings,
(xhplot,yhplot) defines the
upper right hand corner of the
map in world units. Usually
(xhigh,yhigh) as passed to ZGRID
is used (see figures 5 and 8).
zlev
real
array containing the contour
array
levels to be drawn in world units.
ldig
integer
array containing the annotation
array
control information for each level.
Included for compatibility with ZCNTUR
Not currently used.
lwgt
integer
array containing the line type and
array
color index for each contour level.
NEWPEN is called to set the line width
of the contour. COLOR is called to
set the color for the contour. The
line width and color of the last
contour will remain in effect after
CCNTUR is complete. Only positive
pen numbers are supported: operator
intervention is not permitted. See
COLOR (Section 3.37) for a
description
of negative pen numbers.
ici*100+ inp Contour is drawn with a solid
line. The line has a width of inp
(see NEWPEN, Section 3.10) and a
color index of ici (see COLOR,
Section 3.37).
-(ici*100+ inp) Contour is drawn as a dashed line
using the previous dash setting
in STDASH (Section 3.4). The line
has a width of inp and a color
index of ici.
nlev
integer >
0 number of contour
levels in zlev, ldig ,icol, &
100 lwgt.
Note: This size is larger that allowed for
ZCNTUR and ZCSEG. See section
2.10.
hgt
real
>0.0 height of contour
annotation in
inches. Not currently used. Included
for compatibility with ZCNTUR.
icol
integer
integer array of surface fill color and fill pattern.
array
icol(i) = fill color*100 + fill pattern
= -1000 for "invisible" color ( not filled).
This array must be dimensioned (nlev+1) elements.
See STFILL for fill pattern
available for the output device.
See COLOR for available
colors for the output device.
icol(i) is used for all data of array z between
zlev(i-1) and zlev(i).
icol(1) is used for all data of array z less that zlev(1).
icol(nlev+1) is used for all values above zlev(nlev).
mode
integer
type of drawing
0
draw the surface filled color patterns based on icol.
1
draw contour lines only based on lwgt ( this is like
ZCNTUR) except that no contour annotation is drawn.
2
draw surface filled color patterns and contour lines.
xtmp
real
temporary work array dimensioned NXSIZE elements.
array
ytmp
real
temporary work array dimensioned NYSIZE elements.
array
Note:
Each contour level has the following information:
For the ith contour level, i = 1 to nlev;
contour level value in zlev(i)
contour annotation in ldig(i) [ not currently used]
contour line type in lwgt(i)
contour fill pattern and fill color in icol(i)
If more than 100 contours are desired on 1 drawing, make
multiple calls to CCNTUR, changing the contour levels in zlev each
time.
See Also:
ZGRID, DGRID, DISP3D(3D
only), SCAL3D(3D only), ZCSEG, ZCNTUR,
CLEGND, examples 4.10 and 4.11.
Example:
These examples use the following array values. The only difference
is the value of the mode parameter (0,1, or 2).
NLEV = 5
ZLEV(1) = 11500.0
ZLEV(2) = 12000.0
ZLEV(3) = 12500.0
ZLEV(4) = 13000.0
ZLEV(5) = 13500.0
ICOL(1)= 3
ICOL(2)= 6
ICOL(3)= 1
ICOL(4)= 4
ICOL(5)= 8
ICOL(6)= 1 ( values greater that ZLEV(5)= 13500.0
displayed as fill pattern 1 = solid )
LDIG(1) = 1
LDIG(2) = 1
LDIG(3) = 1
LDIG(4) = 1
LDIG(5) = 1
LWGT(1) = 1
LWGT(2) = 4 ( contour line 4 times normal width)
LWGT(3) = 1
LWGT(4) = -4 ( dashed contour line)
LWGT(5) = 1
The output of CCNTUR is shown on the left; the output of CLEGND is
shown on the right below.



   
  
|