Télécharger j3inex.eso

Retour à la liste

Numérotation des lignes :

  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
  37. CALL J3ANGL(XY1,XY2,TOL,THET1,IR)
  38. C
  39. IF(IR.EQ.1)THEN
  40. ICOD=1
  41. RETURN
  42. ENDIF
  43. C
  44. THETA=THETA+THET1
  45. C
  46. ENDDO
  47. C
  48. IF(ABS(ABS(THETA)-2*XPI).LT.NPTO*TOL)THEN
  49. ICOD=-1
  50. ISIGM=INT(SIGN(1.D0,THETA))
  51. ELSEIF(ABS(THETA).LT.NPTO*TOL)THEN
  52. ICOD=-2
  53. ISIGM=0
  54. ELSE
  55. WRITE(IOIMP,*)' J3INEX: on ne peut pas etre la'
  56. IRET=IRET+1
  57. ENDIF
  58. C
  59. RETURN
  60. END
  61.  
  62.  
  63.  
  64.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales