Télécharger przoom.eso

Retour à la liste

Numérotation des lignes :

przoom
  1. C PRZOOM SOURCE PV 05/09/22 21:25:53 5181
  2. SUBROUTINE PRZOOM(IRESU,ISORT,IQUALI,INUMNO,INUMEL,XMI,
  3. * XMA,YMI,YMA)
  4. IMPLICIT INTEGER(I-N)
  5. -INC CCREEL
  6.  
  7. -INC PPARAM
  8. -INC CCOPTIO
  9. character*9 legend(5)
  10. if (iogra.eq.6) then
  11. * opengl traitement particulier
  12. call oglzoom(ixmi,ixma,iymi,iyma)
  13. return
  14. endif
  15. * affichage du nouveau menu
  16. legend(1)='Fin trace'
  17. legend(2)=' ini'
  18. legend(3)=' zoom +'
  19. legend(4)=' zoom -'
  20. legend(5)=' pan'
  21. ncase=5
  22. llong=9
  23. call menu(legend,ncase,llong)
  24. call trmess('Choisissez une fonction')
  25. call traff(icle)
  26. if (icle.eq.1) then
  27. CALL INI(IRESU,ISORT,IQUALI,INUMNO,INUMEL,XMI,XMA,YMI,YMA)
  28. endif
  29. if (icle.eq.2) then
  30. call trmess('Donnez un coin de la zone à agrandir')
  31. call TRDIG(XxRO,XxCOL,ICLE)
  32. call trmess('Donnez un autre coin de la zone à agrandir')
  33. call TRDIG(yrO,yCOL,ICLE)
  34. * FENETRE NON DEFORMANTE
  35. XMI=MIN(XXRO,YRO)
  36. XMA=MAX(XXRO,YRO)
  37. YMI=MIN(XXCOL,YCOL)
  38. YMA=MAX(XXCOL,YCOL)
  39. XMA=MAX(XMA,YMA-YMI+XMI)
  40. YMI=MIN(YMI,-XMA+XMI+YMA)
  41. IF (XMI.EQ.XMA) XMA=XMA*1.01+1E-30
  42. IF (YMI.EQ.YMA) YMA=YMA*1.01+1E-30
  43. * ON NE CHANGE PAS LE CADRE
  44. XMIN=XMI
  45. XXAX=XMA
  46. YMIN=YMI
  47. YYAX=YMA
  48. ISORT=0
  49. IRESU=2
  50. call zoom(1,XMI,XMA,YMI,YMA)
  51. isort=0
  52. iresu=2
  53. endif
  54. if (icle.eq.3) then
  55. call trmess('Donnez un coin de la reduction')
  56. call TRDIG(XxRO,XxCOL,ICLE)
  57. call trmess('Donnez un autre coin de la reduction')
  58. call TRDIG(yrO,yCOL,ICLE)
  59. * FENETRE NON DEFORMANTE
  60. XMI=MIN(XXRO,YRO)
  61. XMA=MAX(XXRO,YRO)
  62. YMI=MIN(XXCOL,YCOL)
  63. YMA=MAX(XXCOL,YCOL)
  64. XMA=MAX(XMA,YMA-YMI+XMI)
  65. YMI=MIN(YMI,-XMA+XMI+YMA)
  66. * IF (XMI.EQ.XMA) XMA=XMA*1.01+1E-30
  67. IF (XMI.EQ.XMA) XMA=XMA*1.01+xpetit
  68. * IF (YMI.EQ.YMA) YMA=YMA*1.01+1E-30
  69. IF (YMI.EQ.YMA) YMA=YMA*1.01+xpetit
  70. * ON NE CHANGE PAS LE CADRE
  71. XMIN=XMI
  72. XXAX=XMA
  73. YMIN=YMI
  74. YYAX=YMA
  75. ISORT=0
  76. IRESU=2
  77. call zoom(-1,XMI,XMA,YMI,YMA)
  78. isort=0
  79. iresu=2
  80. endif
  81. if (icle.eq.4) then
  82. call trmess('Donnez le point source')
  83. call TRDIG(XxRO,XxCOL,ICLE)
  84. call trmess('Donnez le point cible')
  85. call TRDIG(yrO,yCOL,ICLE)
  86. * FENETRE NON DEFORMANTE
  87. XMI=XXRO
  88. XMA=YRO
  89. YMI=XXCOL
  90. YMA=YCOL
  91. XMIN=XMI
  92. XXAX=XMA
  93. YMIN=YMI
  94. YYAX=YMA
  95. ISORT=0
  96. IRESU=2
  97. call zoom(0,XMI,XMA,YMI,YMA)
  98. isort=0
  99. iresu=2
  100. endif
  101. *
  102. end
  103.  
  104.  
  105.  
  106.  
  107.  

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