1 : C J3INEX SOURCE CHAT 05/01/13 00:46:51 5004 2 : SUBROUTINE J3INEX(XY,XYC,NPTO,TOL,ICOD,ISIGM,IRET) 3 : C---------------------------------------------------- 4 : C LE POINT XY EST-IL DANS OU HORS DU CONTOURS XYC? 5 : C 6 : C ESCLAVE DE J3COTO, mais pas seulement... on le blinde 7 : C en rajoutant le sur qui ne sert pas 8 : C pour J3COTO 9 : C 10 : C 1 on est sur 11 : C CODE ICOD : 0 on ne sait pas 12 : C -1 est a l'interieur 13 : C -2 est a l'exterieur 14 : C PP 6/97 15 : C Pierre Pegon/JRC Ispra 16 : C---------------------------------------------------- 17 : C 18 : IMPLICIT INTEGER(I-N) 19 : IMPLICIT REAL*8(A-H,O-Z) 20 : -INC CCREEL 21 : -INC CCOPTIO 22 : DIMENSION XY(2),XYC(2,NPTO) 23 : DIMENSION XY1(2),XY2(2) 24 : LOGICAL LOK 25 : C 26 : ICOD=0 27 : THETA=0.D0 28 : C 29 : DO IE1=1,NPTO 30 : I1=IE1 31 : I2=IE1+1-(IE1/NPTO)*IE1 32 : C 33 : DO IE2=1,2 34 : XY1(IE2)=XYC(IE2,I1)-XY(IE2) 35 : XY2(IE2)=XYC(IE2,I2)-XY(IE2) 36 : ENDDO 36 : CALL J3ANGL(XY1,XY2,TOL,THET1,IR) 37 : C 38 : IF(IR.EQ.1)THEN 39 : ICOD=1 40 : RETURN 41 : ENDIF 42 : C 43 : THETA=THETA+THET1 44 : C 45 : ENDDO 46 : C 47 : IF(ABS(ABS(THETA)-2*XPI).LT.NPTO*TOL)THEN 48 : ICOD=-1 49 : ISIGM=INT(SIGN(1.D0,THETA)) 50 : ELSEIF(ABS(THETA).LT.NPTO*TOL)THEN 51 : ICOD=-2 52 : ISIGM=0 53 : ELSE 54 : WRITE(IOIMP,*)' J3INEX: on ne peut pas etre la' 55 : IRET=IRET+1 56 : ENDIF 57 : C 58 : RETURN 59 : END 60 : 61 : 62 :
© Cast3M 2003 - All rights reserved.
Disclaimer