9.2.1 UETONE

1.
Function
Performs tone fill of 2-D contour graphs with tone primitives.
2.
Call
CALL UETONE(Z,MX,NX,NY)
3.
Explanation of Parameters
Z (R) A 2-D array of MX * NY. The NX * NY portion is used in the draw routine.
MX (I) The first adjustable dimension of array Z.
NX (I) The first adjustable dimension of array Z used in the draw routine
NY (I) The second adjustable dimension of array Z used in the draw routine
4.
Notes
(a)
When the coordinates of the grid points in the X direction are not set by either UWSGXA (see section 11.2.1) or UWSGXB (see Section 11.2.2), then the window information is inquired using SGQWND, and the grid points set so that the range between the UXMIN and UXMAX is divided equally into NX-1 sections.
(b)
When the coordinates of the grid points in the Y direction are not set by either UWSGYA (see section 11.2.1) or UWSGYB (see Section 11.2.2), then the window information is inquired using SGQWND, and the grid points set so that the range between the UYMIN and UYMAX is divided equally into NY-1 sections.
(c)
When the value of the tone level for the fill is not set by UEGTLA, UEGTLB, UESTLV, or UESTLN, then the tone levels and tone patterns for the fill is set according to the following method. When the internal variable 'LTONE' handled by UELGET/UELSET is .TRUE., (hereafter, an 'internal variable" refers to an internal variable handled by UEpGET/UEpSET, unless stated otherwise) then the following subroutine is called internally and approximately NLEV tone levels are set.
CALL UEGTLB(Z,MX,NX,NY,-REAL(NLEV))
NLEV is the value inquired by the internal variable 'NLEV'. (The initial value is 12.) When the internal variable 'LTONE' is .FALSE., the region with a value lower than that inquired by the internal variable 'RLEV' is filled with the tone pattern with the value inquired by the internal variable 'IPAT'. (The initial values of 'RLEV' and IPAT' are 0.0 and 1201, respectively: a right-up hatch.) The initial value of 'LTONE' is .FALSE..
(d)
When the internal variable 'LMISS' handled by GLpGET/GLpSET is .TRUE., then missing-value handling is performed. In other words, the grid points surrounding a missing value is not filled. (The missing value inquired here is the internal variable 'RMISS' handled by GLpGET/GLpSET.) When .FALSE., missing-value handling is not performed. For details, see the user's manual for "MATH1."
(e)
Checks the values of all grid points before performing the fill. In the following 2 cases, the fill is not performed, and a message is printed. They are:
  • when all grid points are missing values (a missing field)
  • when all grid points have the same value (a constant field).