Trailing-Edge
-
PDP-10 Archives
-
bb-d868b-bm_tops20_v3a_2020_dist
-
3a-sources/pltutl.for
There are 3 other files named pltutl.for in the archive. Click here to see a list.
FUNCTION PLTUTL (XXX)
C ARGUMENTS ARE PASSED IN THIS COMMON--EQUIVS. TAILOR PARTIC. LISTS
COMMON /PLTARG/ARG0,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7
1 ,X,Y,DD,TT,TOP,SIDE
INTEGER ARG0,PLTCHAR
EQUIVALENCE (PLTCHAR,ARG0)
REAL ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7, X,Y
DIMENSION X(5),Y(5),DD(1),TT(1)
DATA DD,TT/'TREE ','ARC '/
ENTRY PLTORIG
EQUIVALENCE (SETTOP,ARG1),(SETSIDE,ARG2),(STPSIZ,ARG3),
1 (WIDNCH,ARG4),(PSTAT,ARG5)
INTEGER PSTAT
REAL TOP,SIDE,SETTOP,SETSIDE,STPSIZ,WIDNCH
PLTUTL=0
TOP=SETTOP
SIDE=SETSIDE
CALL PLOTS(PSTAT,STPSIZ)
IF (PSTAT .EQ. -1) RETURN
ARG7=WIDNCH + 1.0
ARG7=-ARG7
CALL PLOT(0,ARG7,-3)
CALL PLOT(0,0.5,-3)
RETURN
ENTRY PLTINIT
EQUIVALENCE (XDPEST,ARG1),(YORIG,ARG2)
REAL XDPEST,YCENTR
INTEGER PLTUTL
C THE TWO ARGS ARE IMPLICITLY PASSED ON
PLTUTL=-1
CALL PLOTI
RETURN
ENTRY PLTPOLY
EQUIVALENCE (XSON,ARG1),(YSON,ARG2),
1 (NAMLEN,ARG3),(LNUM,ARG4),(LNAME,ARG5),(RNAME,ARG5)
INTEGER NAMLEN,LNUM
REAL XSON,YSON,RNAME
DIMENSION LNAME(2)
C IN A STATISTICAL SENSE IT IS BETTER TO DO THE 10 STATS ALWAYS
C RATHER THAN CONDIT AROUND & BRANCH TO WHEN NECESSARY
X(1)=XSON
Y(1)=YSON-TOP/2
X(2)=XSON
Y(2)=YSON+TOP/2
X(3)=XSON+SIDE
Y(3)=YSON+TOP/2
X(4)=XSON+SIDE
Y(4)=YSON-TOP/2
X(5)=X(1)
Y(5)=Y(1)
IF (LNUM .GT.99999) GO TO 11
PLTCHAR='*'
CALL NUMBER(X(1)+SIDE*7.0/16.0,Y(1)+TOP/8,SIDE/8,
1 FLOAT(LNUM),90.0,-1)
CALL SYMBOL(X(1)+SIDE*14/16,Y(1)+TOP/8,SIDE/8,
1 LNAME,90.0,NAMLEN)
GO TO 99
11 IF (LNUM .NE. 100000) GO TO 12
IF (PLTUTL.NE.0) GO TO 115
X(1)=XSON
Y(1)=YSON
X(2)=XSON+SIDE/2
Y(2)=YSON+TOP/2
X(3)=XSON+SIDE
Y(3)=YSON
X(4)=XSON+SIDE/2
Y(4)=YSON-TOP/2
X(5)=X(1)
Y(5)=Y(1)
115 PLTCHAR='$'
CALL SYMBOL(XSON+SIDE*7/16,YSON-TOP/4,SIDE/6,DD,90.0,4)
CALL NUMBER(XSON+SIDE*14/16,YSON,SIDE/6,RNAME,90.0,-1)
GO TO 99
12 IF (LNUM .NE. 100001) GOTO 88
IF (PLTUTL.NE.0) GO TO 125
X(1)=XSON
Y(1)=YSON-TOP/2+TOP/6
X(2)=XSON
Y(2)=YSON+TOP/2-TOP/6
X(3)=XSON+SIDE
Y(3)=YSON+TOP/2
X(4)=XSON+SIDE
Y(4)=YSON-TOP/2
X(5)=X(1)
Y(5)=Y(1)
125 PLTCHAR='@'
CALL SYMBOL(XSON+SIDE*7/16,YSON-TOP/3,SIDE/6,TT,90.0,3)
CALL NUMBER(XSON+SIDE*14/16,YSON-TOP/4,SIDE/6,RNAME,90.0,-1)
CALL SYMBOL(XSON+SIDE*14/16,YSON,SIDE/6,LNAME(2),90.0,1)
99 CALL LINE(X,Y,5,1)
RETURN
ENTRY PLTLINE
EQUIVALENCE(XSELF,ARG1),(YSELF,ARG2),(XDAU,ARG3),(YDAU,ARG4)
REAL YSELF,XSELF,YDAU,XDAU
PLTCHAR='='
X(1)=XSELF
Y(1)=YSELF
X(2)=XDAU
Y(2)=YDAU
CALL LINE(X,Y,2,1)
RETURN
88 PSTAT=-1
RETURN
END