Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0049/genplt.doc
There is 1 other file named genplt.doc in the archive. Click here to see a list.
GGGGGGGGG EEEEEEEEE NNN NNN PPPPPPPPP LLL TTTTTTTTT
GGG EEE NNNN NNN PPP PPP LLL TTT
GGG GGGG EEEEEE NNN N NNN PPPPPPPPP LLL TTT
GGG GGG EEE NNN NNNN PPP LLL TTT
GGGGGGGGG EEEEEEEEE NNN NNN PPP LLLLLLLL TTT
IIIIIIIII IIIIIIIII
III III
III III
III III
IIIIIIIII IIIIIIIII
GENPLT-II is a package of FORTRAN non-interactive graphic
subroutines which provide a wide variety of automatic
functions such as the plotting of scales and grids. Data
can be represented by plotted points or symbols, by solid or
dashed lines, or as shaded figures. Draftsman's Gothic and
Greek lettering are provided.
Further information concerning these routines has been
published in Volume 3 of "Computer Programs For Chemistry,"
W. A. Benjamin, Inc., 1969 (edited by Delos F. DeTar).
GENPLT-II, a General Plotting Package Page 2
Coupling GENPLT-II to a Particular Plotting Device
-------- --------- -- - ---------- -------- ------
The GENPLT-II subroutines produce graphic output on a
specific plotting device by calling a set of routines
provided by the user for that device. Several typical
packages of such coupling routines are supplied. If an
installation has a plotting device, some primitive routines
will probably be available for its use. One of the provided
coupling packages can then be modified to call these
primitive routines. The file PENTST is provided to test a
new or modified set of coupling routines. If the coupling
routines are operating correctly, this program will produce
3 versions of the Yale University crest.
Each of the coupling packages contains 5 simple routines
with a standardized argument list. These are as follow.
SUBROUTINE PENBGN(LASTX,LASTY,NEWX,NEWY)
called by the user to initialize any parameters needed
by the other routines of the coupling package. The most
important parameters are FACTOR which is the number of
plotter grid units corresponding to XWIDTH or YWIDTH
equal 1.0 (the maximum possible), and OFSETX and OFSETY
which are the coordinates of the plotter grid origin
stated in plotter grid units. PENBGN might also produce
an identification frame if used with a camera monitored
CRT, or might advance paper if used with a drum plotter.
SUBROUTINE PENHLT(LASTX,LASTY,NEWX,NEWY)
called by the user when a fresh plotting surface must be
provided. Would advance film in CRT camera or advance
the paper in drum plotter. For a flat-bed plotter,
would signal the operator to change paper. For a
storage CRT, would clear screen.
SUBROUTINE PENEND(LASTX,LASTY,NEWX,NEWY)
called by the user after all plotting has been
generated. For most devices would merely call PENHLT
again. Some systems might require calling an accounting
routine.
The arguments NEWX and NEWY for the above routines are
dummies not used by the routines. LASTX and LASTY are set,
if necessary, by these coupling routines for use when the
user calls the higher level GENPLT-II routines and contain
the present pen or CRT beam position coordinates for use in
interpolation between drawn lines.
Two additional coupling routines are called internally by
the GENPLT-II routines. These are as follow.
GENPLT-II, a General Plotting Package Page 3
SUBROUTINE PENUP(LASTX,LASTY,NEWX,NEWY)
moves the pen or CRT beam from the former position
LASTX, LASTY to the new position NEWX, NEWY without
drawing a line.
SUBROUTINE PENDWN(LASTX,LASTY,NEWX,NEWY)
draws a line from the former position LASTX, LASTY to
the new position NEWX, NEWY.
The following packages of coupling subroutines are provided.
The printer output package is written entirely in FORTRAN
and should work under any system. Printer representation of
plots is often useful if normal hardcopy graphic output is
either expensive or slow. The unit number NTAPE onto which
printer plots are output is set by PENHLT when this is
initially called by PENBGN and should be changed as
necessary.
File PRTPAC
contains the routines PENBGN, PENUP, PENDWN and PENEND
for producing printer or teletype plots using the
characters X and space. File PRTPAC must be used with
one of the following versions of PENHLT.
File PRTHLB
produces large printer plots 3 pages wide by 4 pages
high. Although designed for a printer with at least
122 characters per line, it is necessary to change
only 1 variable (ICHAR) to split the plot into
narrower columns for printing on a teletype.
File PRTHLC
produces a very low resolution plot on a single
printer page of 101 character width.
File XRXHLT
produces an output file containing duration and
intensity information for driving a Xerox
Telecopier. Custom built hardware and the routines
to drive this hardware are necessary to generate the
audio tones which control this device. The stylus
of the telecopier spins inside a rolled sheet of
carbon paper which in turn is inside a rolled sheet
of normal paper. The other printer coupling
routines can be used since both the printer and
telecopier are raster displays. The version of
PENHLT meant for the Telecopier is unusual in that
it allows both horizontal and vertical resolution to
be specified by a single variable.
File CALPAC
calls the standard Calcomp routine PLOT to produce plots
on Calcomp drum plotters. It may be necessary to
GENPLT-II, a General Plotting Package Page 4
restore the DIMENSION statement and the call to
subroutine PLOTS which appear as comment lines in
PENBGN. The following files are also provided.
File CALPLT
simulates the standard Calcomp routine PLOT.
Individual horizontal, vertical or diagonal motions
of the stepping motor are requested by calling a
routine named PLOTP. The routine PLOTP must be
written for the individual system.
File CALARD
simulates the above mentioned routine PLOTP for
monitoring on an ARDS graphic terminal. Routines in
the file ARDMAC are called for final output.
File ARDPAC
A very simple set of coupling routines which call the
routines in file ARDMAC for output on an ARDS (Advanced
Remote Display Station) storage tube terminal.
File ARDMAC
contains Macro routines for driving a dual scope
ARDS terminal with write-through cursor and with
Sylvania tablet interface. The entry points within
this file are described in the appendix.
GENPLT-II, a General Plotting Package Page 5
Dimension Systems
--------- -------
The sizes and locations of items to be plotted are specified
in 3 different dimension systems.
1. User defined data has its own dimension system (which
can differ in the horizontal and vertical directions)
and is windowed into a plot area which can contain a
range of data extending in the horizontal direction from
XFIRST at the left edge to XFINAL at the right edge, and
in the vertical direction from YFIRST at the bottom edge
to YFINAL at the top edge. Similarly, routine BARPLT
requires the maximum sum of the segments of an
individual bar be input in data coordinates as the
argument TOTAL.
2. The plot area into which the data are windowed has its
width XWIDTH, height YWIDTH, horizontal distance XCORNR
from the left edge of the maximum usable plotting
surface and vertical distance YCORNR from the lower edge
of the maximum usable plotting surface specified as
fractions of the width or height of the maximum usable
plotting surface. Similarly, the argument HEIGHT which
defines the height of captions plotted by routine WRDPLT
and of numbers plotted by routine NMBPLT is specified as
a fraction of the height of the maximum usable plotting
surface.
3. The heights of scale captions and of scale numbers and
of scale tick marks, the heights of characters used to
represent data or used as the tips of arrows, and the
lengths of the dashes and of the spaces of dashed lines
used to represent data, are specified in units which are
1/50th of the height of the plot area. Use of this
relative unit for the specification of the arguments
RELHIT, RELSPC and RELARO allow the proportions of a
plot to be independent of changes in its overall size.
For example, if data ranging from 0.001 to 0.002 in the
horizontal direction and from 1200.0 to -300.0 in the
vertical direction were to be plotted in a centered plot
area having width 0.6 of the maximum possible width and
having height 0.5 of the maximum possible height, then
XFIRST = 0.001
XFINAL = 0.002
YFIRST = 1200.0
YFINAL = -300.0
XWIDTH = 0.6
YWIDTH = 0.5
XCORNR = 0.3
YCORNR = 0.25
GENPLT-II, a General Plotting Package Page 6
The decreasing vertical scale causes difficulty for neither
the data plotting routines nor for the scale plotting
routine.
These arguments, and the XPOINT and YPOINT data actually
being represented are diagramed below.
*******upper*edge*of*maximum*usable*plotting*surface********
* *
* *
* *
* r
l i
e .............. XWIDTH .............. g
f h
t t
* ******upper*edge*of*plot*area******* . *
e * .r . e
d l . i . d
g e . g . g
e f XFINAL h . e
* t YFINAL t . *
o * * Y o
f p p W f
* l X l I *
u o . o D u
s t . t H s
a * . * T a
b e XFIRST XPOINT e . b
l d YFIRST YPOINT d . l
e g . g . e
* e . e . *
s *. * . s
u..XCORNR...******lower*edge*of*plot*area******* . u
r . r
f Y f
a C a
c O c
e R e
* N *
* R *
* . *
*******lower*edge*of*maximum*usable*plotting*surface********
GENPLT-II, a General Plotting Package Page 7
Selection of Character Strings for Plotting Captions
--------- -- --------- ------- --- -------- --------
Since the GENPLT-II fonts were originally developed for use
on an IBM 7094 computer, only the characters in the BCD
character set can be used in input strings. These allowed
characters include the upper case Roman alphabet, the
numerals 0 through 9, and the 11 other characters left
parenthesis, right parenthesis, comma, apostrophe, period,
plus sign, minus sign, asterisk, slash, equals sign and
dollar sign (used as a non-plotting control character). All
other characters will be translated to blanks (spaces) prior
to being plotted.
The basic version of the lettering routine (FONT1C) plots
only horizontal or vertical upper case Roman block letters.
Plotting of the string is terminated whenever a $ (dollar
sign, not alt-mode) is encountered as a character to be
plotted. The caption
THIS IS A SAMPLE TITLE
could be plotted if the following Hollerith field were to be
included as one of the caption arguments (such as NAMELX,
NAMELY etc. of a CALL SCLPLT statement).
23HTHIS IS A SAMPLE TITLE$
It will be noted that the $ must be included in the
character count and that this character count can be less
than the 72 maximum. In effect, the terminal $ prevents the
plotting as random characters of the unspecified portion of
the caption.
The advanced version of the lettering routine (LTRPLC) can
plot lettering at any angle, and interprets the character
following a $ in a plotted alphameric string as an option
selector rather than as a character to be plotted. A blank
(space character), zero or any other character not used for
particular options following a $ causes termination of
plotting of the string. The digits 1, 2, 3 and 4 select
Roman upper case, Roman lower case, Greek upper case and
Greek lower case respectively (in fonts 7 and 8, semi-script
Roman is selected rather than Greek by $3 and $4). Roman
upper case lettering is initially provided, however this
alphabet and case are not automatically reset by succeeding
calls to the lettering program. The sample caption given
above could be plotted with the first letter in each word in
upper case by using the following string.
40H$1T$2HIS $1I$2S $1A S$2AMPLE $1T$2ITLE$
Greek letters are identified in the character strings by the
Roman letters having the same numerical positions within the
corresponding alphabets. For example, $3X would refer to
upper case omega, the 24th character in the Greek alphabet.
Italic lettering, size modification, and sub-superscripting
are provided by the following option selector character
GENPLT-II, a General Plotting Package Page 8
pairs.
$$ selects italic lettering.
$* selects lettering and intercharacter spacing both of
3/2 normal size.
$/ selects lettering and intercharacter spacing both of
2/3 normal size.
$+ selects superscript lettering.
$- selects subscript lettering.
$) selects lettering 3/2 normal width.
$( selects lettering 2/3 normal width.
$= causes return to normal upper case Roman.
These options are cumulative until the entire group is reset
by termination of plotting of the string or by the $= option
selector pair. If italic superscripting had been requested
by a $$$+ or $+$$ selector set, italic subscripting could be
simply obtained by use of the $- selector pair (though a
redundant $$ would cause no harm). However to obtain normal
size italic lettering under the same initial conditions, it
would be necessary to use a $=$$ option selector set, since
the $= option selector pair would remove the italic slant as
well as cause return to the normal lettering size.
A comma following a dollar sign can be used to backspace.
Such a backspace has the same width as have most of the
upper case Roman letters and as have all the digits and
punctuation marks and upper and lower case Greek letters. A
period following a dollar sign can be used to shift the
plotted output to a new line, similar to incrementing the
LINE argument of routine WRDPLT. The new line command
should only be used, however, if the lettering is being left
justified.
One of the following fonts must be loaded if file LTRPLC is
used. This additional file contains the lettering
coordinates. FONT6A is recommended for normal use.
FONT2 primitive upper and lower case Roman and upper
and lower case Greek.
FONT3 rounded (but not standard draftsman) upper and
lower case Roman and upper and lower case Greek.
FONT4 outline sans-serif upper and lower case Roman
(matches single stroke draftsman's Roman).
FONT5 outline Caslon upper and lower case Roman
(classic outline serif).
FONT6A draftsman's upper and lower case Roman and upper
and lower case Greek.
FONT7 draftsman's upper and lower case Roman and upper
and lower case fore-hand semi-script.
FONT8 draftsman's upper and lower case Roman and upper
and lower case back-hand semi-script.
FONT9 draftsman's upper and lower case Roman (same as
in fonts 6, 7 and 8 with no alternate alphabet).
GENPLT-II, a General Plotting Package Page 9
Routines in the GENPLT-II Package
-------- -- --- --------- -------
AROPLT plots arrows with letters as head and tail.
BARPLT plots bar charts.
DIMPLT hatches any irregularly shaped closed figure for
which the user has supplied X and Y coordinate
arrays. The hatch lines with which the figure is
shaded can be drawn at any angle. Unlike DRKPLT
described below, DIMPLT results in a slight
precision loss in the input arrays. Both DIMPLT and
DRKPLT window the shaded figure onto the plot area.
DRKPLT hatches with horizontal and/or vertical shading
lines any irregularly shaped closed figure for which
the user has supplied X and Y coordinate arrays.
DSHPLT plots X and Y arrays as a dashed line with user
defined dash and space lengths. The lengths of
dashes and of the spaces between them is independent
of the distances between consecutive points defining
the line. The line is windowed onto the plot area.
GENPLT plots user defined X and Y arrays as a set of
points, a continuous line, centered alphameric
characters, centered symbols (diamonds, hexagons
etc.) or as a set of lines connecting blank arreas
centered at the specified coordinates (to connect
points independently plotted as symbols or
characters).
GRDPLT plots grids which match the scales drawn by SCLPLT.
LINPLT plots a line from the point previously specified by
either PNTPLT or LINPLT.
NMBPLT plots a left justified, baseline centered or right
justified number at any angle and either with or
without decimal point.
PNTPLT plots individual points or the start of new lines.
SCLPLT plots a set of linear scales, either at the borders
of the rectangular plot area, or intersecting at
user chosen coordinates (not necessarily zero,zero
on the scale) to divide the plot area into
quadrants. the user has control over which borders
will bear tick marks, scale numbers and legends.
WRDPLT plots a left justified, baseline centered, or right
justified caption at any angle.
GENPLT-II, a General Plotting Package Page 10
SUBROUTINE AROPLT(X1 ,Y1 ,X2 ,Y2 ,XFIRST,YFIRST,
XFINAL,YFINAL,XWIDTH,YWIDTH,XCORNR,YCORNR,ITAIL ,IHEAD ,
RELHIT,RELSPC,RELARO,LASTX ,LASTY )
Routine to plot possibly dashed arrow with tail at point
X1,Y1 and with head at point X2,Y2.
The routines DSHPLT and WRDPLT are called. The lettering
routine capable of lettering at angles must be used.
The arrow can have one or more letters centered at head and
tail. These are specified as the strings IHEAD and ITAIL.
V's at both ends would give a double headed arrow. Each
string must be terminated by a dollar sign followed by a
blank (space character) or by some other dollar sign command
which would specify the end of the string to be plotted. If
no termination command is present within the string, a
maximum of 72 letters will be plotted.
A bar can be plotted at ends of arrow as a subscript minus
sign. It must be remembered that the width of a character
is usually 2/3rds of its height. To get bars with width
equal to height of other letters, the string '$)$--$ ' would
be used. The $* command character pair should not here be
used instead of the $) character pair since the $* would
also give an larger gap after the minus sign and lead to
slightly incorrect centering.
X1 = horizontal data coordinate of tail of arrow
Y1 = vertical data coordinate of tail of arrow
X2 = horizontal data coordinate of head of arrow
Y2 = vertical data coordinate of head of arrow
XFIRST = horizontal data coordinate to be placed at left
border of plot area.
YFIRST = vertical data coordinate to be placed at lower
border of plot area.
XFINAL = horizontal data coordinate to be placed at right
border of plot area.
YFINAL = vertical data coordinate to be placed at upper
border of plot area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = horizontal distance from plotting table origin to
left plot edge.
YCORNR = vertical distance from plotting table origin to
lower plot edge.
ITAIL = array containing letter or letters to be plotted at
arrow tail.
IHEAD = array containing letter or letters to be plotted at
arrow head.
RELHIT = length of dashes along stem of arrow in units of
magnitude 0.02*YWIDTH.
RELSPC = length of spaces along stem of arrow in units of
GENPLT-II, a General Plotting Package Page 11
magnitude 0.02*YWIDTH.
RELARO = height of letter at end of arrow in units of
magnitude 0.02*YWIDTH.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE BARPLT(INDIC ,KNDBGN,KNDEND,KNTBAR,MSTBAR,RATIO ,
TOTAL ,XWIDTH,YWIDTH,XCORNR,YCORNR,RELHIT,NAME ,LASTX ,
LASTY )
Routine to plot bar charts.
INDIC = 1 plots horizontal bar.
INDIC = 2 plots vertical bar.
INDIC = 3 plots hatching identification blocks.
KNDBGN = number of first component to plot, not larger than
KNDEND.
KNDEND = number of final component to plot, maximum is 7.
KNTBAR = number of this bar in plotting sequence, first bar
is 1.
MSTBAR = total number of bars to be plotted.
RATIO = array of segment lengths in data units.
TOTAL = data units corresponding to total width of plot
area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
RELHIT = height of plotted alphanumeric characters in units
of 0.02*YWIDTH.
NAME = 10 letter bar title or sequence of 10 letter block
titles
LASTX = horizontal (X) grid coordinate of last point
plotted.
LASTY = vertical (Y) grid coordinate of last point plotted.
GENPLT-II, a General Plotting Package Page 12
SUBROUTINE DIMPLT(KONTRL,XPOINT,YPOINT, NEXT,KRDBGN,KRDEND,
XFIRST,YFIRST,XFINAL,YFINAL,XWIDTH,YWIDTH,XCORNR,YCORNR,
RELHIT,RELSPC,LASTX ,LASTY )
Routine to darken or hatch an irregularly shaped figure.
The plotted output is windowed onto the plot area. Unlike
output from DRKPLT, hatch lines can be at any angle. DIMPLT
rotates the input XPOINT and YPOINT arrays prior to
processing. These arrays are returned to their original
values before returning to the calling program, but the user
should be aware that there can have been a slight precision
loss. DRKPLT does not alter the contents of the input
XPOINT and YPOINT arrays.
KONTRL = selects perimeter or angle of hatching
KONTRL = negative gives perimeter
KONTRL = 0 or greater, hatching angle in degrees
= 0 gives horizontal hatch lines
= 90 gives vertical hatch lines
XPOINT = array of X coordinates defining perimeter of
figure.
YPOINT = array of Y coordinates defining perimeter of
figure.
NEXT = fixed or floating point array used as working
space. NEXT is redefined during processing
destroying former contents. NEXT must be
dimensioned same or larger than XPOINT and YPOINT.
Portion of NEXT which is used is parallel to used
portions of XPOINT and YPOINT arrays.
KRDBGN = subscript of first point to be plotted.
KRDEND = subscript of final point to be plotted.
XFIRST = X coordinate (in system used for XPOINT) to be
placed at left border of plot area.
YFIRST = Y coordinate (in system used for YPOINT) to be
placed at lower border of plot area.
XFINAL = X coordinate (in system used for XPOINT) to be
placed at right border of plot area.
YFINAL = Y coordinate (in system used for YPOINT) to be
placed at upper border of plot area.
XWIDTH = horizontal width (as fraction of maximum) of plot
area.
YWIDTH = vertical height (as fraction of maximum) of plot
area.
XCORNR = X distance (as fraction of maximum dimension) from
plotting table origin to left plot edge.
YCORNR = Y distance (as fraction of maximum dimension) from
plotting table origin to lower plot edge.
RELHIT = distance between alternate pairs of hatch lines in
units of 0.02*YWIDTH. RELHIT and RELSPC both set
at 1.0 would give 50 lines in distance
corresponding to height of the plot area.
RELSPC = distance between alternate pairs of hatch lines in
units of 0.02*YWIDTH.
GENPLT-II, a General Plotting Package Page 13
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE DRKPLT(KONTRL,XPOINT,YPOINT, NEXT,KRDBGN,KRDEND,
XFIRST,YFIRST,XFINAL,YFINAL,XWIDTH,YWIDTH,XCORNR,YCORNR,
RELHIT, LASTX, LASTY)
Routine to darken or hatch an irregularly shaped figure.
Only horizontal and/or vertical hatch lines are provided.
The routine DIMPLT should be used for other angles. The
plotted output is windowed onto the plot area.
KONTRL = option control which selects type of hatching to be
used.
KONTRL = 1 gives hatching formed of parallel horizontal
lines.
KONTRL = 2 gives crosshatch of horizontal and vertical
lines.
KONTRL = 3 gives hatching formed of parallel vertical lines.
KONTRL = 4 plots perimeter of figure.
XPOINT = array of X coordinates defining perimeter of
figure.
YPOINT = array of Y coordinates defining perimeter of
figure.
NEXT = fixed or floating point array used as working
space.
NEXT = is redefined by DRKPLT so former contents are
destroyed.
NEXT = must have same dimensions as XPOINT or YPOINT.
KRDBGN = subscript of first point to be plotted.
KRDEND = subscript of final point to be plotted.
XFIRST = X coordinate to be placed at left border of plot
area.
YFIRST = Y coordinate to be placed at lower border of plot
area.
XFINAL = X coordinate to be placed at right border of plot
area.
YFINAL = Y coordinate to be placed at upper border of plot
area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
RELHIT = distace between hatch lines in units of
0.02*YWIDTH.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
GENPLT-II, a General Plotting Package Page 14
SUBROUTINE DSHPLT(XPOINT,YPOINT,KRDBGN,KRDEND,XFIRST,YFIRST,
XFINAL,YFINAL,XWIDTH,YWIDTH,XCORNR,YCORNR,RELHIT,RELSPC,
LASTX ,LASTY )
Routine to plot dashed lines. The length of individual
dashes and spaces is independent of the distance between
point coordinates which define the line. The line plotted
is windowed onto the plot area.
XPOINT = array of X coordinates of points to be plotted.
YPOINT = array of Y coordinates of points to be plotted.
KRDBGN = subscript of first point to be plotted.
KRDEND = subscript of final point to be plotted.
XFIRST = X coordinate to be placed at left border of plot
area.
YFIRST = Y coordinate to be placed at lower border of plot
area.
XFINAL = X coordinate to be placed at right border of plot
area.
YFINAL = Y coordinate to be placed at upper border of plot
area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
RELHIT = length of dashes in units of magnitude 0.02*YWIDTH.
RELSPC = length of spaces in units of magnitude 0.02*YWIDTH.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE GENPLT(MODE1 ,MODE2 ,MODE3 ,XPOINT,YPOINT,KRDBGN,
KRDEND,XFIRST,YFIRST,XFINAL,YFINAL,FIRSTX,FIRSTY,FINALX,
FINALY,XWIDTH,YWIDTH,XCORNR,YCORNR,RELHIT,LETTER,LASTX ,
LASTY )
Routine to plot data X and Y coordinate arrays as points, as
symbols, as characters, as connected lines, or as lines
connecting square blank areas (which are not outlined)
centered at the input coordinates. The plotting of a point,
or of a line segment to a point can be suppressed if the
point is outside the plot area. It must be noted that this
does not provide true windowing of a line connecting the
specified points. Routine DSHPLT should instead be used,
either with very long dashes or with zero length spaces
between dashes, to plot lines which require true windowing
onto the plot area.
GENPLT-II, a General Plotting Package Page 15
MODE1 = 1 does not check if points are in requested plot
area.
MODE1 = 2 sets scales to fit coordinates of plotted points.
MODE1 = 3 does not plot point coordinates exceeding limits.
MODE2 = 1 requires both input X and Y coordinate arrays.
MODE2 = 2 simulates X array left to right at equal
intervals.
MODE3 = 1 gives plot with lines connecting blank areas
around points.
MODE3 = 2 gives plot with line connecting points.
MODE3 = 3 gives plot with dot at each point.
MODE3 = 4 gives plot with alphanumeric character at each
point.
MODE3 = 5 gives plot with special symbol at each point.
XPOINT = array of X coordinates of points to be plotted.
YPOINT = array of Y coordinates of points to be plotted.
KRDBGN = subscript of first point to be plotted.
KRDEND = subscript of final point to be plotted.
XFIRST = X coordinate to be placed at left border of plot
area.
YFIRST = Y coordinate to be placed at lower border of plot
area.
XFINAL = X coordinate to be placed at right border of plot
area.
YFINAL = Y coordinate to be placed at upper border of plot
area.
Scales may either increase or decrease if MODE1 = 1
or 3. Scales are selected to increase toward right
and top if MODE1 = 2. Input limits XFIRST, YFIRST,
XFINAL and YFINAL are ignored if MODE1 = 2.
FIRSTX = X coordinate placed at left border of plot area.
FIRSTY = Y coordinate placed at lower border of plot area.
FINALX = X coordinate placed at right border of plot area.
FINALY = Y coordinate placed at upper border of plot area.
FIRSTX, FIRSTY, FINALX and FINALY are output
arguments. These variables may be used to define
the ends of the scales to be drawn by SCLPLT. The
value of these output arguments will vary from the
input arguments only if MODE1 = 2.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
GENPLT-II, a General Plotting Package Page 16
RELHIT = height in units of 0.02*YWIDTH of the letters,
symbols, or blank areas centered at each point for
MODE3=1, 4 or 5
RELHIT = 1.0 gives letters YWIDTH/50 high.
LETTER = alphanumeric character centered at points if MODE3
= 4. This is first letter specified by a Hollerith
field (either within enclosing apostrophes or after
a character count and the letter H) or read using
an alphameric A field within a FORMAT statement.
The character will be plotted in the case and
alphabet (either Roman or Greek) selected prior to
the call to GENPLT. A dummy call to WRDPLT could
be used to select case and alphabet.
LETTER = integer selecting special symbol if MODE3 = 5.
symbols are specified by letter values
1, 2=triangle
3, 4=square
5, 6=pentagon
7, 8=hexagon
9,10=octagon
11,12=cross
Two orientations of each symbol are provided.
These symbols are independent of the font loaded.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE GRDPLT(LINESX,LINESY,XFIRST,YFIRST,XFINAL,YFINAL,
XWIDTH,YWIDTH,XCORNR,YCORNR,LASTX ,LASTY )
Routine to plot grids having line spacing matching that of
the scale markings drawn by SCLPLT.
LINESX = number of grid divisions along horizontal scale
between consecutive horizontal scale numbers
plotted by SCLPLT.
LINESY = number of grid divisions along vertical scale
between consecutive vertical scale numbers plotted
by SCLPLT. Border is plotted if both LINESX = 0
and LINESY = 0.
XFIRST = left limiting coordinate of horizontal (X) scale.
YFIRST = lower limiting coordinate of vertical (Y) scale.
XFINAL = right limiting coordinate of horizontal (X) scale.
YFINAL = upper limiting coordinate of vertical (Y) scale.
XWIDTH = horizontal plot width.
YWIDTH = vertical plot width.
XCORNR = distance from plotting table origin to left plot
edge.
GENPLT-II, a General Plotting Package Page 17
YCORNR = distance from plotting table origin to lower plot
edge.
LASTX = horizontal (X) grid coordinate of last point
plotted.
LASTY = vertical (Y) grid coordinate of last point plotted.
SUBROUTINE LINPLT(XCOORD,YCOORD,XFIRST,YFIRST,XFINAL,YFINAL,
XWIDTH,YWIDTH,XCORNR,YCORNR,LASTX ,LASTY )
Routine to continue previous line to new coordinates.
XCOORD = X or horizontal coordinate to which line is to be
plotted
YCOORD = Y or vertical coordinate to which line is to be
plotted
XFIRST = X coordinate cooresponding to left edge of plot
area.
YFIRST = Y coordinate cooresponding to lower edge of plot
area.
XFINAL = X coordinate cooresponding to right edge of plot
area.
YFINAL = Y coordinate cooresponding to upper edge of plot
area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE NMBPLT(INDIC ,INDEX ,LINE ,FIGURE,KDECML,HEIGHT,
XCORNR,YCORNR,LASTX ,LASTY )
Routine to plot floating point numbers either as integers or
with decimal point.
INDIC = angle of baseline of number in degrees from
horizontal. INDIC can only have values 0 and 90 if
FONT1C is used.
INDEX = 0 plots left end of baseline of number at the point
having the coorinates XCORNR and YCORNR.
INDEX = 1 centers baseline of number at the point having
the coorinates XCORNR and YCORNR.
GENPLT-II, a General Plotting Package Page 18
INDEX = 2 plots right end of baseline of number at the
point having the coorinates XCORNR and YCORNR.
LINE = line upon which number is to be plotted. Line
starting at input values of XCORNR and YCORNR is
line = 1. Higher valued lines are offset to be
plotted below line number 1. Spacing between lines
is 1.5 height of numbers plotted.
FIGURE = floating point number to be plotted.
KDECML = number of decimal places (numerals right of decimal
point) to be plotted.
KDECML = 0 gives figure plotted as integer.
HEIGHT = height of numbers to be plotted.
XCORNR = horizontal coordinate of lettering baseline. see
INDEX.
YCORNR = vertical coordinate of lettering baseline. see
INDEX.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
SUBROUTINE PNTPLT(XCOORD,YCOORD,XFIRST,YFIRST,XFINAL,YFINAL,
XWIDTH,YWIDTH,XCORNR,YCORNR,LASTX ,LASTY )
Routine to plot a single point or the start of a new line.
XCOORD = X or horizontal coordinate of point to be plotted.
YCOORD = Y or vertical coordinate of point to be plotted.
XFIRST = X coordinate cooresponding to left edge of plot
area.
YFIRST = Y coordinate cooresponding to lower edge of plot
area.
XFINAL = X coordinate cooresponding to right edge of plot
area.
YFINAL = Y coordinate cooresponding to upper edge of plot
area.
XWIDTH = horizontal width of plot area.
YWIDTH = vertical height of plot area.
XCORNR = X distance from plotting table origin to left plot
edge.
YCORNR = Y distance from plotting table origin to lower plot
edge.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
GENPLT-II, a General Plotting Package Page 19
SUBROUTINE SCLPLT(INDEX0,INDEX1,INDEX2,INDEX3,INDEX4,INDEX5,
INDEX6,INDEX7,INDEX8,INDEX9,XFIRST,YFIRST,XFINAL,YFINAL,
XCROSS,YCROSS,XWIDTH,YWIDTH,XCORNR,YCORNR,RELHIT,NAMELX,
NAMELY,NAMEUX,NAMERY,NAME ,LASTX ,LASTY )
Routine to plot captions and linear scales consisting of
border lines, tick marks and scale numbers. The scale
numbers are selected to be as logical as is possible.
However, extremely large numbers at either or both ends of a
scale, or extremely small differences between the numbers at
the ends of the scale should be avoided to prevent overlap
of the plotted numerals.
INDEX0 = 1 gives immediate return from SCLPLT subroutine.
INDEX0 = 2-4 defines format of scales to be plotted.
INDEX0 = 2-3 does not cause any actual plotting to be
undertaken.
INDEX0 = 2 defines format for external (rectangular) scales.
INDEX0 = 3 defines format for internal (crossed) scales.
Internal scales divide the plot area in quadrants
of possibly unequal size.
INDEX0 = 4 causes actual plotting of plotting area corners.
INDEX0 = 4 marks corners of plotting area with large
crosses.
INDEX0 = 4 voids all other options except caption options.
INDEX0 = 4 might be used for paper alignment or trimming of
plots.
INDEX1 = 1 gives no horizontal (X) scale lines.
INDEX1 = 2-4 plots horizontal (X) scale lines.
INDEX1 = 2 plots only lower horizontal (X) scale line.
INDEX1 = 3 plots both upper and lower horizontal (X) scale
lines.
INDEX1 = 4 plots only upper horizontal (X) scale line.
INDEX2 = 1 gives no vertical (Y) scale lines.
INDEX2 = 2-4 plots vertical (Y) scale lines.
INDEX2 = 2 plots only left vertical (Y) scale line.
INDEX2 = 3 plots both left and right vertical (Y) scale
lines.
INDEX2 = 4 plots only right vertical (Y) scale line.
INDEX3 = 1 gives no tick marks along horizontal (X) scales.
INDEX3 = 2-4 plots tick marks along horizontal (X) scales.
INDEX3 = 2 plots only lower horizontal (X) scale tick marks.
INDEX3 = 3 plots upper and lower horizontal (X) scale tick
marks.
INDEX3 = 4 plots only upper horizontal (X) scale tick marks.
INDEX4 = 1 gives no tick marks along vertical (Y) scales.
INDEX4 = 2-4 plots tick marks along vertical (Y) scales.
INDEX4 = 2 plots only left vertical (Y) scale tick marks.
INDEX4 = 3 plots left and right vertical (Y) scale tick
GENPLT-II, a General Plotting Package Page 20
marks.
INDEX4 = 4 plots only right vertical (Y) scale tick marks.
INDEX5 = 1 gives no scale numbers along horizontal (X)
scales.
INDEX5 = 2-4 plots scale numbers along horizontal (X) scales
(providing these same scales have tick marks
selected by INDEX3).
INDEX5 = 2 plots only lower horizontal (X) scale numbers.
INDEX5 = 3 plots upper and lower horizontal (X) scale
numbers.
INDEX5 = 4 plots only upper horizontal (X) scale numbers.
INDEX6 = 1 gives no scale numbers along vertical (Y) scales.
INDEX6 = 2-4 plots scale numbers along vertical (Y) scales
(providing these same scales have tick marks
selected by INDEX4).
INDEX6 = 2 plots only left vertical (Y) scales numbers.
INDEX6 = 3 plots left and right vertical (Y) scale numbers.
INDEX6 = 4 plots only right vertical (Y) scale numbers.
INDEX7 = 1 gives no horizontal (X) scale captions.
INDEX7 = 2-4 plots captions along horizontal (X) scales.
INDEX7 = 2 plots only lower horizontal (X) scale caption.
INDEX7 = 3 plots upper and lower horizontal (X) scale
captions.
INDEX7 = 4 plots only upper horizontal (X) scale caption.
INDEX8 = 0,1 gives no vertical (Y) scale captions.
INDEX8 = 2-4 plots captions along vertical (Y) scales.
INDEX8 = 2 plots only left vertical (Y) scale caption.
INDEX8 = 3 plots left and right vertical (Y) scale captions.
INDEX8 = 4 plots only right vertical (Y) scale caption.
INDEX8 = also controls direction of INDEX6 selected scale
numbers.
INDEX8 = 0 plots horizontally any scale numbers on vertical
scale.
INDEX8 = 0 prevents overlap of scale numbers on X and Y
scales.
INDEX8 = 1-4 plots vertically any scale numbers on Y scale.
INDEX8 = 1-4 prevents overlap of Y scale captions and
numbers.
INDEX9 = 1 gives no main caption.
INDEX9 = 2-4 plots main caption.
INDEX9 = 2 plots main caption below lower horizontal (X)
scale. The location of this main caption would be
below the caption of the lower horizontal scale
NAMELX possibly selected by INDEX7.
INDEX9 = 3 plots main caption above lower horizontal (X)
scale. The location of this main caption would be
above the tick marks on the lower horizontal scale
possibly selected by INDEX3.
GENPLT-II, a General Plotting Package Page 21
INDEX9 = 4 plots main caption below upper horizontal (X)
scale. The location of this main caption would be
below the tick marks on the upper horizontal scale
possibly selected by INDEX3.
XFIRST = left limiting coordinate of horizontal (X) scale.
YFIRST = lower limiting coordinate of vertical (Y) scale.
XFINAL = right limiting coordinate of horizontal (X) scale.
YFINAL = upper limiting coordinate of vertical (Y) scale.
XCROSS = horizontal coordinate (in the system used for
XFIRST and XFINAL) of the point of intersection of
crossed scales.
XCROSS = is ignored unless INDEX0 = 3.
YCROSS = vertical coordinate (in the system used for YFIRST
and YFINAL) of the point of intersection of crossed
scales.
YCROSS = is ignored unless INDEX0 = 3.
XWIDTH = horizontal plot width.
YWIDTH = vertical plot width.
XCORNR = distance from plotting table origin to left plot
edge.
YCORNR = distance from plotting table origin to lower plot
edge.
RELHIT = height of scale numbers in units of 0.02*YWIDTH.
RELHIT = proportions height of tick marks, numbers, and
captions.
RELHIT = 1.0 gives numbers YWIDTH/50 high, and is best for
large plots.
RELHIT = 2.0 gives numbers YWIDTH/25 high, and is best for
small plots.
NAMELX = lower horizontal scale caption, same height as
numbers.
NAMELX = 72 characters (or terminated by a dollar sign
followed by a blank (space character) within the
string if fewer than 72) read by 14A5,1A2 format or
specified by alphameric string in DATA statement or
in CALL statement.
NAMELY = left vertical scale caption, same height as
numbers.
NAMELY = 72 characters (or terminated by a dollar sign
followed by a blank (space character) within the
string if fewer than 72) read by 14A5,1A2 format or
specified by alphameric string in DATA statement or
in CALL statement.
NAMEUX = upper horizontal scale caption, same height as
numbers.
NAMEUX = 72 characters (or terminated by a dollar sign
followed by a blank (space character) within the
string if fewer than 72) read by 14A5,1A2 format or
GENPLT-II, a General Plotting Package Page 22
specified by alphameric string in DATA statement or
in CALL statement.
NAMERY = right vertical scale caption, same height as
numbers.
NAMERY = 72 characters (or terminated by a dollar sign
followed by a blank (space character) within the
string if fewer than 72) read by 14A5,1A2 format or
specified by alphameric string in DATA statement or
in CALL statement.
NAME = main caption, height is 1.5 times that of scale
numbers.
NAME = 72 characters (or terminated by a dollar sign
followed by a blank (space character) within the
string if fewer than 72) read by 14A5,1A2 format or
specified by alphameric string in DATA statement or
in CALL statement.
LASTX = horizontal (X) grid coordinate of last point
plotted.
LASTY = vertical (Y) grid coordinate of last point plotted.
SUBROUTINE WRDPLT(INDIC ,INDEX ,LINE ,LWORD ,LTRBGN,LTREND,
HEIGHT,XCORNR,YCORNR,LASTX ,LASTY )
Routine to plot captions at positions not provided as
standard by SCLPLT.
INDIC = angle of lettering baseline in degrees from
horizontal. INDIC can only have values 0 and 90 if
FONT1C is used.
INDEX = 0 plots left end of lettering baseline at the point
with the coordinates XCORNR and YCORNR.
INDEX = 1 centers lettering baseline at the point with the
coordinates XCORNR and YCORNR.
INDEX = 2 plots right end of lettering baseline at the
point with the coordinates XCORNR and YCORNR.
LINE = line upon which alphameric string LWORD is to be
plotted. Line starting at input values of XCORNR
and YCORNR is line = 1. Higher valued lines are
offset to be plotted below line number 1. Spacing
between lines is 1.5 height of words plotted.
LWORD = word array to be plotted. This must either be
specified as a string in the CALL WRDPLT statement
(either with a leading character count followed by
letter H, or with leading and trailing
apostrophes), or be an array with each character
byte being defined within each array element (4
letters per word for IBM 360 or IBM 370, 5 for
PDP-10, 6 for IBM 7094, 10 for CDC 60 bit
GENPLT-II, a General Plotting Package Page 23
computers). This means the array can have been
read by some multiple of an A5 format on the
PDP-10.
LTRBGN = number of first letter in word array to be plotted.
This would have the value 1 if lettering is to
include first character in word array.
LTREND = number of final letter in word array to be plotted.
This prevents plotting of garbage if the dollar
sign and blank (space) combination has not been
used within the character string to terminate its
own plotting.
HEIGHT = height of letters to be plotted.
XCORNR = horizontal coordinate of lettering baseline. see
INDEX.
YCORNR = vertical coordinate of lettering baseline. see
INDEX.
LASTX = last X grid coordinate plotted.
LASTY = last Y grid coordinate plotted.
GENPLT-II, a General Plotting Package Page 24
Calling Hierarchy of the GENPLT-II Routines
------- --------- -- --- --------- --------
AROPLT DSHPLT PENDWN
PENUP
WRDPLT LTRPLT IBCD
PENDWN
PENUP
BARPLT HCHPLT PENDWN
PENUP
LTRPLT IBCD
PENDWN
PENUP
PENDWN
PENUP
DIMPLT PENDWN
PENUP
DRKPLT PENDWN
PENUP
DSHPLT PENDWN
PENUP
GENPLT LTRPLT IBCD
PENDWN
PENUP
PENDWN
PENUP
GRDPLT PENDWN
PENUP
LINPLT PENDWN
NMBPLT LTRPLT IBCD
PENDWN
PENUP
PNTPLT PENUP
SCLPLT LTRPLT IBCD
PENDWN
PENUP
PENDWN
PENUP
WRDPLT LTRPLT IBCD
PENDWN
PENUP
The routine LTRPLT consists either of file FONT1C or of file
LTRPLC and one of the files FONT2 through FONT9.
GENPLT-II, a General Plotting Package Page 25
Appendix
Appendix: Interactive Graphics Routines
--------- ----------- -------- --------
(some of which call entries in file ARDMAC)
FUNCTION IPLDST(IX,IY,JX,JY,IPENX,IPENY)
Function to return distance from line having endpoints.
Calculations are performed in integer mode and can have 10
percent error.
IPLDST = returned with distance
IX = horizontal coordinate of start of line
IY = vertical coordinate of start of line
JX = horizontal coordinate of end of line
JY = vertical coordinate of end of line
IPENX = horizontal coordinate of reference point
IPENY = vertical coordinate of reference point
FUNCTION IPLHIT(KONTRL,IWIDE,IHIGH,IX,IY,JX,JY,IPENX,IPENY)
Function to test if tablet stylus points to point or line.
The routines CRTOFF and CRTON are called.
IPLHIT = 0 returned if stylus doesn't point to line
= 1 returned if stylus points to line
KONTRL = 0, does not outline active area
= 1, outlines active area if test successful
IWIDE = half-width of active area around point or line
IHIGH = -1, test if stylus points to line (acitive area
extends beyond ends of line)
= 0, test if stylus points to middle of line (active
area extends only to ends of line)
= positive, half-height of active area around point
(JX and JY are not used)
IX = horizontal coordinate of point or of end 1 of line
IY = vertical coordinate of point or of end 1 of line
JX = horizontal coordinate of end 2 of line
JY = vertical coordinate of end 2 of line
IPENX = horizontal position of stylus
IPENY = vertical position of stylus
GENPLT-II, a General Plotting Package Page 26
Appendix
SUBROUTINE PLTBOX(KONTRL,IWIDE,IHIGH,IX,IY,JX,JY)
Routine to outline point or line with box or diamond. The
routines CRTOFF and CRTON are called.
KONTRL = 0, plot as box (edges at 0 and 90 degrees)
= 1, plot as diamond (edges at diagonal)
IWIDE = half-width of box around point or line
IHIGH = -1, box extends beyond ends of line
= 0, box touches ends of line
= positive, half-height of box around point (JX and
JY are not used)
IX = horizontal coordinate of point or of end 1 of line
IY = vertical coordinate of point or of end 1 of line
JX = horizontal coordinate of end 2 of line
JY = vertical coordinate of end 2 of line
SUBROUTINE PLTCUT(IPLCUT,IX,IY,JX,JY,MINX,MINY,MAXX,MAXY)
Routine to window line. This routine is based on GENPLT-II
plotter coupling routines published in volume 3 of Computer
Programs For Chemistry.
IPLCUT = returned as 0 if line does not pass thru window.
= returned as 1 if line passes thru window
IX = horizontal coordinate of start of line
IY = vertical coordinate of start of line
JX = horizontal coordinate of end of line
JY = vertical coordinate of end of line
MINX = horizontal coordinate of lower left corner of
window
MINY = vertical coordinate of lower left corner of window
MAXX = horizontal coordinate of upper right corner of
window
MAXY = vertical coordinate of upper right corner of window
PLTCUT routine returns JX, JY, IX and IY changed if
windowing is necessary.
GENPLT-II, a General Plotting Package Page 27
Appendix
SUBROUTINE PLTLIN(MULT,IDASH,IWEDGE,IHIGH,JHIGH,IDSPLY,IX,
IY,JDSPLY,JX,JY)
Routine to plot parallel lines between blank rectangles of
different widths. The routines CRTOFF and CRTON are called.
MULT = number of parallel lines to be drawn
= 1 or greater, this number of lines is drawn
centered between point IX IY and point JX JY.
IDASH = 0, continuous line is drawn
= 1 or greater, dashed line is drawn
IWEDGE = -1 or less, each line is wedge pointing from point
IX, IY to point JX, JY.
= 0, normal (non-wedge) line representation.
= 1 or greater, each line is wedge pointing from
point JX, JY to point IX, IY.
IHIGH = separation between lines if MULT is not 1 and/or
between dashes if IDASH is not zero. IHIGH is
similarly the minimum dash length and the minimum
width of the broadest wedge end which are
proportional to IDASH and the absolute value of
IWEDGE respectively.
JHIGH = half of height of rectangles 1 and 2.
IDSPLY = 0, line is drawn to coordinates IX and IY
= 1 or greater, is width of blank rectangle 1
IX = horizontal coordinate of rectangle 1
IY = vertical coordinate of rectangle 1
JDSPLY = 0, line is drawn to coordinates JX and JY
= 1 or greater, is width of blank rectangle 2
JX = horizontal coordinate of rectangle 2
JY = vertical coordinate of rectangle 2
SUBROUTINE PLTTOP(IWIDE,IX,IY,JX,JY,NEWX,NEWY)
Routine to calculate position above line midpoint.
IWIDE = distance to be from line
IX = horizontal coordinate of start of line
IY = vertical coordinate of start of line
JX = horizontal coordinate of end of line
JY = vertical coordinate of end of line
NEWX = returned with calculated X coordinate
NEWY = returned with calculated Y coordinate
GENPLT-II, a General Plotting Package Page 28
Appendix
Appendix: Entry Points in File ARDMAC
--------- ----- ------ -- ---- ------
SUBROUTINE CRTLTR(STRING,IFIRST,IFINAL,NEWX,NEWY)
uses hardware character generation to plot an alphameric
string containing 67 or fewer characters.
STRING = 7 bit ASCII string (you can't get any other
kind from DEC PDP-10 FORTRAN).
IFIRST = serial number of first character.
IFINAL = serial number of final character. (to plot
from 3rd through 20th character in string,
IFIRST=3 and IFINAL=20)
NEWX = horizontal coordinate of lower, left corner of
first letter to be plotted.
NEWY = vertical coordinate of lower, left corner of
first letter to be plotted.
SUBROUTINE CRTOFF(NEWX,NEWY)
positions CRT beam without writing at point NEWX, NEWY.
NEWX = horizontal coordinate from 0 to 1023.
NEWY = vertical coordinate from 0 to 1023.
SUBROUTINE CRTON (NEWX,NEWY)
draws line from previous beam position to the new point with
coordinates NEWX and NEWY.
NEWX = horizontal coordinate from 0 to 1023.
NEWY = vertical coordinate from 0 to 1023.
SUBROUTINE CRTSCP(KONTRL) selects which screen will show
letters and drawn lines.
KONTRL = bit coded mask selecting screen.
= 1, lines will appear on screen 1.
= 2, lines will appear on screen 2.
= 3, lines will appear on both screens 1 and 2.
SUBROUTINE CRTSTR(KONTRL)
selects whether letters and drawn lines are stored on the
CRT screen or merely momentarily visible (the latter mode is
known as "write-through").
KONTRL = 0, lines are momentarily visible.
= 1, lines are stored.
SUBROUTINE CRTWIP(NO ARGUMENT)
clears the currently selected screen, empties input buffer
and returns ARDS terminal to teletype mode.
SUBROUTINE CRTXYZ(NEWX,NEWY,NEWZ)
queries the terminal about the current location of the
tablet stylus and returns stylus position in the locations
supplied as arguments (original contents are destroyed).
NEWX = horizontal coordinate from 0 to 1023.
NEWY = vertical coordinate from 0 to 1023.
NEWZ = 0, stylus is pressed against tablet.
GENPLT-II, a General Plotting Package Page 29
Appendix
= 4 or 6, stylus is within about 3/8 inch of the
tablet surface.
= -1, stylus is beyond 3/8 inch of tablet
surface.
author: Donald E. Barth
Department of Chemistry
Harvard University
updated: September 1972