Google
 

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