1      SUBROUTINE PTINT1(XP,YP,A,AMU,X,Y,XI,YI,NSUM,EFFECT,K,J,NCON,
2     1VERTUP)
3C
4C***  CALCULATES THE BOUNDRIES OF THE MACH LINE ON THE VERTICAL TAIL
5C
6      DIMENSION XP(1),YP(1),A(1),X(1),Y(1),XI(1),YI(1),XDIF(4),YDIF(4)
7      COMMON /CONSNT/ PI,DEG,UNUSED,RAD
8      COMMON /VTDATA/ AVT(195)
9      LOGICAL EFFECT,VERTUP
10C
11      ICON=0
12      NSUM=0
13      INDEX=0
14      PIO2=PI/2.0
15      LEORTE=0
16      IF(J.EQ.2) LEORTE=18
17      INOROT=0
18      IF(NCON.EQ.1) INOROT=24
19      DO 1000 KLM=1,5
20         X(KLM)=(XP(KLM)-A(1))*COS(-A(3)/RAD)+(YP(KLM)-A(2))
21     1          *SIN(-A(3)/RAD)
22         Y(KLM)=(YP(KLM)-A(2))*COS(-A(3)/RAD)-(XP(KLM)-A(1))
23     1          *SIN(-A(3)/RAD)
24 1000 CONTINUE
25      DO 1130 K=1,4
26         XDIF(K)=X(K+1)-X(K)
27         YDIF(K)=Y(K+1)-Y(K)
28         IF(XDIF(K) .EQ. 0.0 .AND. YDIF(K) .EQ. 0.0) GO TO 1130
29         TAMU=SIN(AMU)/COS(AMU)
30         XI(K)=(Y(K)*XDIF(K)-X(K)*YDIF(K))/(XDIF(K)*TAMU-YDIF(K))
31         YI(K)=XI(K)*TAMU
32         IF(K.EQ.2.OR.K.EQ.4) GO TO 1100
33         IF(VERTUP) GO TO 1050
34         IF(K.NE.1) GO TO 1030
35         IF(YI(1).LE.Y(1)) GO TO 1010
36         IF((PIO2+AMU).LT.(AVT(59+INOROT)+A(3)/RAD)) GO TO 1020
37         GO TO 1130
38 1010    IF(YI(1).GE.Y(2)) GO TO 1120
39         IF((PIO2+AMU).LT.(AVT(59+INOROT)+A(3)/RAD)) GO TO 1130
40 1020    IF(J.EQ.2) GO TO 1140
41         INDEX=INDEX+1
42         GO TO 1140
43 1030    IF(YI(3).GE.Y(3).AND.YI(3).LE.Y(4)) GO TO 1120
44         IF(YI(3).LT.Y(3)) GO TO 1040
45         IF(J.EQ.2) INDEX=INDEX+1
46         GO TO 1140
47 1040    IF((PIO2+AMU).GT.(AVT(77+INOROT)+A(3)/RAD)) GO TO 1130
48         IF(J.EQ.2) INDEX=INDEX+1
49         GO TO 1140
50 1050    CONTINUE
51         IF(K.NE.1) GO TO 1080
52         IF(YI(1).GE.Y(1)) GO TO 1060
53         IF((PIO2-AMU).LT.(AVT(59+INOROT)-A(3)/RAD)) GO TO 1070
54         GO TO 1130
55 1060    IF(YI(1).LE.Y(2)) GO TO 1120
56         IF((PIO2-AMU).LT.(AVT(59+INOROT)-A(3)/RAD)) GO TO 1130
57 1070    IF(J.EQ.2) GO TO 1140
58         INDEX=INDEX+1
59         GO TO 1140
60 1080    IF(YI(3).LE.Y(3).AND.YI(3).GE.Y(4)) GO TO 1120
61         IF(YI(3).GT.Y(3)) GO TO 1090
62         IF(J.EQ.2) INDEX=INDEX+1
63         GO TO 1140
64 1090    IF((PIO2-AMU).GT.(AVT(77+INOROT)-A(3)/RAD)) GO TO 1130
65         IF(J.EQ.2) INDEX=INDEX+1
66         GO TO 1140
67 1100    IF(K.NE.2) GO TO 1110
68         IF(XI(2).GE.X(2).AND.XI(2).LE.X(3)) GO TO 1120
69        GO TO 1130
70 1110    IF(XI(4).GE.X(5).AND.XI(4).LE.X(4)) GO TO 1120
71         GO TO 1130
72 1120    ICON=ICON+1
73         NSUM=NSUM+K
74         INDEX=INDEX+1
75         IF(ICON.EQ.2) GO TO 1140
76 1130 CONTINUE
77 1140 CONTINUE
78      EFFECT=.FALSE.
79      IF(INDEX.GT.0)EFFECT=.TRUE.
80      RETURN
81      END
82