SUBROUTINE XYCNVT(IX,IY) COMMON /TKTRNX/ TMINVX,TMINVY,TMAXVX,TMAXVY,TREALX,TREALY, 1 TIMAGX,TIMAGY,TRCOSF,TRSINF,TRSCAL,TRFACX,TRFACY, 2 TRPAR1,TRPAR2,TRPAR3,TRPAR4,TRPAR5,TRPAR6,KMOFLG(8),KPAD2, 3 KBAUDR,KGNFLG,KGRAFL,KHOMEY,KKMODE,KHORSZ,KVERSZ,KTBLSZ, 4 KSIZEF,KLMRGN,KRMRGN,KFACTR,KTERM,KLINE,KZAXIS,KBEAMX,KBEAMY, 5 KMOVEF,KPCHAR(5),KDASHT,KMINSX,KMINSY,KMAXSX,KMAXSY,KEYCON, 6 KINLFT,KOTLFT,KUNIT DIMENSION IPLT(5),IOPT(5) DATA IDREW,ISYN /0,22/ C * RECEIVE THE PLOT CHARACTERS CALL PLTCHR(IX,IY,IPLT) C * OPTIMIZE THE OUTPUT LEN=0 C * CHECK IF HIGH Y IS NEEDED IF(KPCHAR(1) .EQ. IPLT(1))GO TO 10 C * INCLUDE HIGH Y IF NEEDED LEN=1 KPCHAR(1)=IPLT(1) IOPT(1)=IPLT(1) C * CHECK IF LSBYX IS NEEDED 10 IF(KTERM .LE. 2)GO TO 20 IF(KPCHAR(2) .EQ. IPLT(2))GO TO 20 C * INCLUDE LSBYX IF NEEDED LEN=LEN+1 KPCHAR(2)=IPLT(2) IOPT(LEN)=IPLT(2) GO TO 30 C * CHECK IF LOW Y IS NEEDED 20 IF(KPCHAR(3) .NE. IPLT(3))GO TO 30 IF(KPCHAR(4) .EQ. IPLT(4))GO TO 40 C * INCLUDE LOW Y IF NEEDED 30 LEN=LEN+1 KPCHAR(3)=IPLT(3) IOPT(LEN)=IPLT(3) C * CHECK IF HIGH X IS NEEDED IF(KPCHAR(4) .EQ. IPLT(4))GO TO 50 C * INCLUDE HIGH X IF NEEDED LEN=LEN+1 KPCHAR(4)=IPLT(4) IOPT(LEN)=IPLT(4) C * CHECK IF LOW X IS NEEDED 40 IF(KPCHAR(5) .NE. IPLT(5))GO TO 50 C * CHECK IF ALL THE CHARACTERS ARE THE SAME IF(LEN .NE. 0)GO TO 50 C * CHECK IF (GS) FOR DARK VECTOR ALREADY SENT IF(KMOVEF .EQ. 1)GO TO 50 C * CHECK IF VECTOR IS ALREADY DRAWN TO SPOT IF(IDREW .EQ. 1)GO TO 80 C * INCLUDE THE LOW X 50 LEN=LEN+1 KPCHAR(5)=IPLT(5) IOPT(LEN)=IPLT(5) C * CHECK FOR POSSIBLE SPEED PROBLEM 60 IF(LEN .GE. KPAD2)GO TO 70 LEN=LEN+1 IOPT(LEN)=ISYN GO TO 60 C * SEND THE ARRAY TO THE OUTPUT BUFFER 70 CALL TOUTST(LEN,IOPT) C * SET THE COMMON AND HISTORY VARIABLES C * SET THE DREW HERE FLAG IDREW=1 C * REMOVE THE DREW HERE FLAG IF DID'NT DRAW IF(KMOVEF .EQ. 1)IDREW=0 C * REMOVE THE MOVE FLAG KMOVEF=0 80 KBEAMX=IX KBEAMY=IY RETURN END