C KAPTTG    SOURCE    CB215821  16/04/21    21:17:26     8920
      SUBROUTINE KAPTTG(R1,Z1,R2,Z2,RA,ZA,RB,ZB,KVV,TC,KIMP)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
C----------------------------------------------------------------------
C SP appele par KAINTE
C     recherche de l existence d un point tangent associe au segment
C     (RA,ZA) (RB,ZB) et de son appartenance au triangle defini
C     les points d integration (R1,Z1) (R2,Z2)
C     si oui  KVV=1
C             TC : valeur de l angle associe au point tangent
C     sinon   KVV=0
C----------------------------------------------------------------------
C
C

      EMIN=1.D-5
      EMIN1=-1.D-5
      CMIN=1.D0-EMIN
      KVV=0
      TC=0.D0

       CALL KAFTAN(R1,Z1,RA,ZA,RB,ZB,A1)
       CALL KAFTAN(R2,Z2,RA,ZA,RB,ZB,A2)
C      WRITE(6,*) ' A1 A2 ',A1,A2

         IF(ABS(A1).LE.CMIN.AND.ABS(A2).LE.CMIN) THEN
C   POINT TANGENT
           TA1=ACOS(A1)
           TA2=ACOS(A2)
C          WRITE(6,*) ' POINT TANGENT TA1 TA2 ',TA1,TA2
           RD=R1*SIN(TA1)+R2*SIN(TA2)
           RC=R1*R2*SIN(TA1+TA2)/RD
           ZC=(Z1*R2*SIN(TA2)+Z2*R1*SIN(TA1))/RD
C PRO< 0 PT TANGENT interieur au segment AB
           PRO=(RA-RC)*(RB-RC)+(ZA-ZC)*(ZB-ZC)
           CALL KAFINT(R1,Z1,R2,Z2,RC,ZC,AC)
           IF(ABS(AC).LE.1.AND.PRO.LT.EMIN1) THEN
C >> LE POINT TANGENT SE TROUVE DANS LE TRIANGLE

            TC=TA1+TA2
          IF(KIMP.GE.4)WRITE(6,*) ' POINT TANGENT  ANGLE ',TC
            KVV=1
C!!
           ELSE
       IF(KIMP.GE.4)WRITE(6,*) ' POINT TANGENT EXTERIEUR AU SEGMENT '
           KVV=0
           ENDIF
         ELSE
C   PAS DE POINT TANGENT
           KVV=0
           IF(KIMP.GE.4)WRITE(6,*) ' PAS DE POINT TANGENT  TOUT VU 2'
         ENDIF

      RETURN
      END



