M0739        V02L01          1130 DPS  (1130-CX-14X)     8/31/71               *
// FOR                                                                  M7390040
*LIST ALL                                                               M7390050
*NAME               M0739                                               M7390060
** PROGRAM MODULE 739 - PLOT VECTORS                                    M7390070
C     PROGRAM IDENTIFICATION FOR THIS MODULE IS 0739                    M7390080
C     IT PLOTS VECTORS                                                  M7390090
      DIMENSION LDR(625),LSW(15),MAN(255),NOMAN(255),I(4),FMAN(255),NSC(M7390100
     13),X(4),Y(4),NT(1),PROB(2),PROJ(2),XM(6),YM(6)                    M7390110
      DIMENSIONOMAN(255)                                                M7390120
      COMMON LDR,LSW,MAN,NOMAN                                          M7390130
      EQUIVALENCE(XP,NOMAN(230)),                (XD,NOMAN(232)),(XX,NOMM7390140
     1AN(233)),(XY,NOMAN(234)),(XL,NOMAN(235)),(XR,NOMAN(236)),(N12,NOMAM7390150
     2N(12)),(N53,NOMAN(53)),(N59,NOMAN(59)),(N71,NOMAN(71)),(N107,NOMANM7390160
     3(107)),(N89,NOMAN(89)),(N56,NOMAN(56)),(N51,NOMAN(51)),(M1,MAN(1))M7390170
     4,(N10,NOMAN(10)),(M3,MAN(3)),(I4,I(4)),(I3,I(3)),(I2,I(2)),(I1,I(1M7390180
     5)),(M8,MAN(8)),(NS1,NSC(1)),(NS2,NSC(2)),(NS3,NSC(3))             M7390190
      EQUIVALENCE(NXS,MAN(6)),(NYS,MAN(7)),(YP,NOMAN(237)),             M7390200
     1   (YD,NOMAN(239)),(YX,NOMAN(240)),(YY,NOMAN(241)),(YL,NOMAN(242))M7390210
     2,(YR,NOMAN(243)),(DC,MAN(11)),(MAN(1),FMAN(1)),(NSC(1),NOMAN(244))M7390220
     3,(KPEN,NOMAN(225)),(NTD,MAN(9)),(M5,MAN(5)),(M25,MAN(25)),(N13,NOMM7390230
     4AN(13)),(N14,NOMAN(14)),(XM(1),NOMAN(231)),(YM(1),NOMAN(238))     M7390240
      EQUIVALENCE(X1,X(1)),(X2,X(2)),(X3,X(3)),(X4,X(4)),(Y1,Y(1)),(Y2,YM7390250
     1(2)),(Y3,Y(3)),(Y4,Y(4)),(OMAN(1),NOMAN(1)),(NT(1),MAN(150)),(XGS,M7390260
     2NOMAN(142)),(YGS,NOMAN(143)),(M2,MAN(2)),(N11,NOMAN(11))          M7390270
      DATA PROB/'M079','9'/,PROJ/'M074','5'/                            M7390275
C     RESET ERROR INDICATOR                                             M7390280
      N11 = 0                                                           M7390290
C     SET DIAGNOSTIC SUBDIVISION                                        M7390300
      N12 = 38                                                          M7390310
C     ARE THERE VECTORS TO BE PLOTTED                                   M7390320
      IF (N53) 250,250,5                                                M7390330
C     RESET VECTOR READ BACK CONTROL                                    M7390340
    5 N56 = 0                                                           M7390350
C     SET UP SCALE LIMITS                                               M7390360
      X3 = 0.                                                           M7390370
      Y3 = 0.                                                           M7390380
      X4 = XGS                                                          M7390390
      Y4 = YGS                                                          M7390400
C     ARE THERE STILL VECTORS TO PROCESS                                M7390410
   10 IF (N53 - N56) 250,250,15                                         M7390420
C     READ ID AND RECORD LENGTH                                         M7390430
   15 CALL READ(N51,N56,2,MAN)                                          M7390440
C     IS READ CORRECT                                                   M7390450
      IF (M1 - 8) 20,25,20                                              M7390460
C     IS RECORD SIZE GREATER THAN 68                                    M7390500
   25 IF (M2 - 68) 35,35,30                                             M7390510
C     SAVE COMPLETE RECORD SIZE                                         M7390520
   30 NSAVE = M2                                                        M7390530
C     SET READ SIZE TO 68                                               M7390540
      M2 = 68                                                           M7390550
C     READ VECTOR CONTROL AND DATA                                      M7390560
   35 CALL READ(N51,N56+2,M2-2,M3)                                      M7390570
      N56 = N56 + M2                                                    M7390580
C     SET DIAGNOSTIC SEQUENCE NUMBER                                    M7390590
      N10 = M3                                                          M7390600
C     IS VECTOR X SCALE-PAPER SCALE                                     M7390610
      IF (NXS) 45,45,40                                                 M7390620
C     SET UP SCALE CONTROL BLOCK                                        M7390630
   40 CALL SCBLK(XM,NXS)                                                M7390640
C     IS VECTOR Y SCALE-PAPER SCALE                                     M7390700
   45 IF (NYS) 55,55,50                                                 M7390710
C     SET UP Y SCALE CONTROL BLOCK                                      M7390720
   50 CALL SCBLK(YM,NYS)                                                M7390730
C     SET UP LINE CONTROL BLOCK                                         M7390790
   55 I4 = 1                                                            M7390800
      I3 = M8 * 6                                                       M7390810
      I2 = 0                                                            M7390820
      I1 = 0                                                            M7390830
C     SET INDEX TO FIRST DEFINER POINT                                  M7390840
      J = 1                                                             M7390850
      NOFF = 0                                                          M7390860
   60 IDX = 25                                                          M7390870
C     ACCESS POINTS                                                     M7390880
   65 XP = FMAN(IDX)                                                    M7390890
      YP = FMAN(IDX + 1)                                                M7390900
C     SELECT PROCESS TYPE RR,XY                                         M7390910
      GOTO(195,70),NTD                                                  M7390913
C     ADJUST FOR SLOPE AND DELTA OF Y SCALE                             M7390917
  220 DY = DY * SIN(FMAN(NYS + 93))                                     M7390920
C     SET NEW X AND Y END POINTS                                        M7390921
  225 XP = RX + DX                                                      M7390922
      YP = RY + DY                                                      M7390923
C     SET REFERENCE X AND Y                                             M7390924
  200 RX = XP                                                           M7390925
      RY = YP                                                           M7390927
C     X-Y PROCESSING- CONVERT COORDINATES                               M7390930
   70 IF (NXS) 75,75,80                                                 M7390940
C     DATA ALREADY PAPER SCALE                                          M7390950
   75 X(J) = XP * 100.                                                  M7390960
      GOTO 110                                                          M7390970
C     CONVERT X COORDINATE                                              M7390980
C     IS SCALE LINEAR OR LOGARITHMIC                                    M7390990
   80 CALL LNVLG(NXS,XP,NSC)                                            M7391000
C     WAS POINT OFF SCALE                                               M7391040
      IF (NS3) 105,105,100                                              M7391050
C     POINT OFF                                                         M7391060
  100 NOFF = NOFF + 1                                                   M7391070
      J = 1                                                             M7391080
      GOTO 155                                                          M7391090
  105 X(J) = NS1                                                        M7391100
C     CONVERT Y COORDINATE                                              M7391110
  110 IF (NYS) 115,115,120                                              M7391120
C     DATA ALREADY PAPER SCALE                                          M7391130
  115 Y(J) = YP * 100.                                                  M7391140
      GOTO 145                                                          M7391150
C     CONVERT Y COORDINATE                                              M7391160
C     IS SCALE LINEAR OR LOGARITHMIC                                    M7391170
  120 CALL LNVLG(NYS,YP,NSC)                                            M7391180
C     WAS POINT OFF SCALE                                               M7391220
      IF (NS3) 140,140,100                                              M7391230
C     SAVE Y POINT                                                      M7391240
  140 Y(J) = NS2                                                        M7391250
C     DRAW IF NOT FIRST POINT                                           M7391260
  145 GOTO(160,150),J                                                   M7391270
C     DRAW SEGMENT                                                      M7391280
  150 CALL FORDR(I,KPEN,DC,X,Y,0,0)                                     M7391290
C     SHIFT POINTS                                                      M7391300
  155 X1 = X2                                                           M7391310
      Y1 = Y2                                                           M7391320
C     ARE ALL POINTS PROCESSED                                          M7391330
  160 IF (IDX -  67) 165,175,175                                        M7391340
  165 IF ( (IDX - 25) / 2 - M5) 170,10,10                               M7391350
C     SET TO NEXT POINT                                                 M7391360
  170 IDX = IDX + 2                                                     M7391370
      J = 2                                                             M7391380
      GOTO 65                                                           M7391390
C     REDUCE TOTAL RECORD SIZE                                          M7391400
  175 NSAVE = NSAVE - M2                                                M7391410
      M5 = M5 - 22                                                      M7391420
C     WILL NEXT READ CONTAIN RECORD                                     M7391430
      IF (NSAVE - 44) 180,180,190                                       M7391440
C     SET READ SIZE                                                     M7391450
  180 NRD = NSAVE                                                       M7391460
C     LOAD NEXT PORTION OF RECORD                                       M7391470
  185 CALL READ(N51,N56,NRD,M25)                                        M7391480
      N56 = N56 + NRD                                                   M7391490
      M2 = NRD                                                          M7391495
      GOTO 60                                                           M7391500
C     SET FOR FULL DATA PORTION READ                                    M7391510
  190 NRD = 44                                                          M7391520
      GOTO 185                                                          M7391530
C     PROCESS RADIUS-ROTATION VECTORS                                   M7391540
C     IS THIS FIRST POINT                                               M7391550
  195 IF (J - 1) 200,200,205                                            M7391560
C     FIND DX AND DY                                                    M7391610
  205 DY=YP*.0174532965                                                 M7391620
      DX=COS(DY)*XP                                                     M7391630
      DY=SIN(DY)*XP                                                     M7391635
      IF (NXS) 215,215,210                                              M7391640
C     ADJUST DELTA FOR SLOPE OF X SCALE                                 M7391650
  210 DX = DX * COS(FMAN(NXS + 93))                                     M7391660
  215 IF (NYS) 225,225,220                                              M7391670
C     ERROR - INCORRECT VECTOR FILE READ                                M7391740
   20 NERR = 1                                                          M7391750
C     DIAGNOSTIC PROCESSING                                             M7391760
      N11 = 1                                                           M7391770
      N13 = NERR                                                        M7391780
C     SET UP GRAPH TERMINATION                                          M7391790
      CALL LIST(1,0)                                                    M7391795
      CALL LIST(2,PROJ)                                                 M7391800
      GOTO 240                                                          M7391810
C     WERE ANY POINTS OF GRAPH                                          M7391820
  235 N13 = 2                                                           M7391830
      N14 = NOFF                                                        M7391840
      N11 = N11 + 2                                                     M7391850
  240 CALL LEX(2,PROB)                                                  M7391860
  245 CALL LRET                                                         M7391870
  250 IF (NOFF) 245,245,235                                             M7391880
      END                                                               M7391890
// DUP                                                                  M7391900
*DELETE             M0739                                               M7391910
*DUMP       WS  CD  M0739                                               M7391920
*STORECI    WS  UA  M0739    1                                          M7391930
*LOCAL,FORDR,READ                                                       M7391940
