| 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.
  
  
|