Télécharger otrini.eso

Retour à la liste

Numérotation des lignes :

otrini
  1. C OTRINI SOURCE PV090527 26/09/08 21:15:08 12640
  2. CSSP TRINIT VERSION 04/08/89 MODIFIEE POUR DRIVER OPENGL+GLUT
  3. C------------------------------------------------------------
  4. SUBROUTINE OTRINI(NOL,AXAX,AYAY,TITRE,HAUTT,VALEU,NCOUMA,IPOLI,
  5. & ICOS)
  6. -INC CCTRACE
  7. save niso
  8. dimension ztrl(10),ctrl(10)
  9. dimension xtr(64),ytr(64),ztr(64)
  10. dimension xl(3),yl(3),zl(3)
  11. DIMENSION ROUG(64),VERT(64),BLEU(64)
  12. character*(*) titre,reply,prompt
  13. INTEGER valeu,len,ncouma,ipoli,icos
  14. logical fenet
  15. external long
  16. CHARACTER*80 CHAINE,CHMESS
  17. EQUIVALENCE (CHAINE,ICHAIN)
  18. EQUIVALENCE (CHmess,ICHmes)
  19. NCOUMA=64
  20. HAUT=HAUTT
  21. NHAUT=31
  22. VALEUR=VALEU
  23. KSEGN=0
  24. AX=AXAX
  25. AY=AYAY
  26. len=long(titre)
  27. call oglini(titre,valeu,len,ncouma,ipoli,icos)
  28. RETURN
  29. C***********************************************************************
  30.  
  31. C
  32. C subroutine DFENET
  33. C
  34. ENTRY ODFENE(XMIN,XXAX,YMIN,YYAX,ZMIN,ZZAX,XR1,XR2,YR1,YR2,FENET)
  35. xr1=xmin
  36. xr2=xxax
  37. yr1=ymin
  38. yr2=yyax
  39. call ogldfene(XMIN,XXAX,YMIN,YYAX,ZMIN,ZZAX,FENET)
  40. RETURN
  41. C***********************************************************************
  42. C
  43. C subroutine TRLABL
  44. C
  45. ENTRY OTRLAB(X,Y,Z,CARACT,NCAR,HAUTT)
  46. call ogltrlabl(x,y,z,caract,ncar)
  47. RETURN
  48. C***********************************************************************
  49.  
  50. C
  51. C subroutine TRBOX
  52. C
  53. * ENTRY PTRBOX (HAUTX,HAUTY)
  54. RETURN
  55. C***********************************************************************
  56. C
  57. C subroutine CHCOUL
  58. C
  59. ENTRY OCHCOU(JCOLO)
  60. call oglchcou(jcolo)
  61. RETURN
  62. C***********************************************************************
  63.  
  64. C
  65. C subroutine FVALIS
  66. C
  67. ENTRY OFVALI(IFENI,IRESU,NH,ni)
  68. * write (6,*) ' ofvali-1 ni ',ni
  69. call oglfvali(ifeni,iresu,nh)
  70. * write (6,*) ' ofvali-2 ni ',ni
  71.  
  72. niso=ni
  73. RETURN
  74. C***********************************************************************
  75.  
  76. C
  77. C subroutine MENU
  78. C
  79. *PV ENTRY PMENU(LEGEND,NCASE,LLONG)
  80. RETURN
  81. C***********************************************************************
  82. C
  83. C subroutine INSEGT
  84. C
  85. ENTRY OINSEG(NBSEGT,IRESS)
  86. call oglinsegt(nbsegt,iress)
  87. RETURN
  88. C***********************************************************************
  89.  
  90. C
  91. C subroutine POLRL
  92. C
  93. ENTRY OPOLRL(NTRSTU,XTR,YTR,ZTR)
  94. call oglpolrl(ntrstu,xtr,ytr,ztr)
  95.  
  96.  
  97.  
  98.  
  99. RETURN
  100. C***********************************************************************
  101.  
  102. C
  103. C subroutine TRDIG
  104. C
  105. *pv ENTRY PTRDIG(X,Y,INCLE)
  106. RETURN
  107. C***********************************************************************
  108. C
  109. C subroutine TRFACE
  110. C
  111. ENTRY OTRFAC(NP,XTR,YTR,ZTR,ZN,ICOLE,IEFF)
  112. * comme opengl ne veut que des polygones convexes, on découpe en triangles
  113. npl=np
  114. if ((xtr(1).eq.xtr(np)).and.(ytr(1).eq.ytr(np)).and.
  115. > (ztr(1).eq.ztr(np))) npl=np-1
  116. if (npl.eq.3) then
  117. nt=1
  118. xc=xtr(3)
  119. yc=ytr(3)
  120. zc=ztr(3)
  121. * write(6,*) 'tri3 nt npl xc,yc,zc=',nt,npl,xc,yc,zc
  122. elseif (npl.eq.4) then
  123. nt=4
  124. xc=(xtr(1)+xtr(2)+xtr(3)+xtr(4))/4
  125. yc=(ytr(1)+ytr(2)+ytr(3)+ytr(4))/4
  126. zc=(ztr(1)+ztr(2)+ztr(3)+ztr(4))/4
  127. elseif (npl.eq.6) then
  128. nt=6
  129. xc=(xtr(2)+xtr(4)+xtr(6))/3
  130. yc=(ytr(2)+ytr(4)+ytr(6))/3
  131. zc=(ztr(2)+ztr(4)+ztr(6))/3
  132. * write(6,*) 'tri6 nt npl xc,yc,zc=',nt,npl,xc,yc,zc
  133. elseif (npl.eq.8) then
  134. nt=8
  135. xc=-0.25*xtr(1)+0.5*xtr(2)-0.25*xtr(3)+0.5*xtr(4)-
  136. > 0.25*xtr(5)+0.5*xtr(6)-0.25*xtr(7)+0.5*xtr(8)
  137. yc=-0.25*ytr(1)+0.5*ytr(2)-0.25*ytr(3)+0.5*ytr(4)-
  138. > 0.25*ytr(5)+0.5*ytr(6)-0.25*ytr(7)+0.5*ytr(8)
  139. zc=-0.25*ztr(1)+0.5*ztr(2)-0.25*ztr(3)+0.5*ztr(4)-
  140. > 0.25*ztr(5)+0.5*ztr(6)-0.25*ztr(7)+0.5*ztr(8)
  141. elseif (npl.eq.7.or.npl.eq.9) then
  142. xc=xtr(npl)
  143. yc=ytr(npl)
  144. zc=ztr(npl)
  145. nt=npl-1
  146. npl=npl-1
  147. * write(6,*) 'tri7 nt npl xc,yc,zc=',nt,npl,xc,yc,zc
  148. else
  149. nt=npl
  150. xc=0
  151. yc=0
  152. zc=0
  153. do ipl=1,npl
  154. xc=xc+xtr(ipl)
  155. yc=yc+ytr(ipl)
  156. zc=zc+ztr(ipl)
  157. enddo
  158. xc=xc/npl
  159. yc=yc/npl
  160. zc=zc/npl
  161. endif
  162. xl(1)=xc
  163. yl(1)=yc
  164. zl(1)=zc
  165. call oglchcou(icole)
  166. do it=1,nt
  167. iu=it+1
  168. if (iu.gt.npl) iu=1
  169. * write(6,*) 'it,iu=',it,iu
  170. xl(2)=xtr(it)
  171. yl(2)=ytr(it)
  172. zl(2)=ztr(it)
  173. xl(3)=xtr(iu)
  174. yl(3)=ytr(iu)
  175. zl(3)=ztr(iu)
  176. call ogltrfac(3,xl,yl,zl)
  177. enddo
  178. ieff=1
  179. RETURN
  180. C***********************************************************************
  181. C
  182. C subroutine TRAISO
  183. C
  184. ENTRY OTRAIS(NP,XTR,YTR,ICOLE)
  185. do ii=1,10
  186. ztrl(ii)=0
  187. ctrl(ii)=(icole-1.)/niso
  188. enddo
  189. C Calcul des couleurs depuis la palette
  190. DO I=1,NP
  191. XALFA=CTRL(I)
  192. CALL PALET3(XALFA,IPALET,R1,V1,B1)
  193. ROUG(I)=R1
  194. VERT(I)=V1
  195. BLEU(I)=B1
  196. ENDDO
  197. C Trace
  198. CALL OGLTRISO(XTR,YTR,ZTRL,CTRL,NP,ROUG,VERT,BLEU)
  199. * call ogltrfac(np,xtr,ytr,ztrl)
  200. RETURN
  201. C***********************************************************************
  202.  
  203. C
  204. C subroutine TREFF
  205. C
  206. *PV ENTRY PTREFF
  207. 1160 CONTINUE
  208. RETURN
  209. C***********************************************************************
  210. C
  211. C subroutine TRAFF
  212. C
  213. ENTRY OTRAFF(ICLE)
  214. ICLE=0
  215. call oglaff(icle)
  216. RETURN
  217. C***********************************************************************
  218. C
  219. C subroutine TRMFIN
  220. C
  221. *PV ENTRY PTRMFI
  222. RETURN
  223. C***********************************************************************
  224.  
  225. C
  226. C subroutine ZOOM
  227. C
  228. * ENTRY PZOOM(IRESU,ISORT,IQUALI,INUMNO,INUMEL,XMI,XMA,YMI,YMA)
  229. *pv ENTRY PZOOM(IZOOM,XMI,XMA,YMI,YMA)
  230. RETURN
  231. C***********************************************************************
  232.  
  233. C
  234. C subroutine CHANG
  235. C
  236. ENTRY OCHANG(IRESU,ISORT,ICHANG,JSEG)
  237. call oglchang(IRESU,ISORT,ICHANG,JSEG)
  238. RETURN
  239. C***********************************************************************
  240.  
  241. C
  242. C subroutine INI
  243. C
  244. *pv ENTRY PINI(IRESU,ISORT,IQUALI,INUMNO,INUMEL,XMI,XMA,YMI,YMA)
  245. RETURN
  246. C***********************************************************************
  247.  
  248. C
  249. C subroutine FLGI
  250. C
  251. *pv ENTRY PFLGJ
  252. RETURN
  253. C***********************************************************************
  254.  
  255. C
  256. C subroutine IMPR
  257. C
  258. *pv ENTRY PFLGI
  259. ENTRY OIMPR
  260. C
  261. RETURN
  262. C***********************************************************************
  263.  
  264. C
  265. C subroutine VAL
  266. C
  267. *pv ENTRY PVAL(IRESU,ISORT,NISO)
  268. C
  269. C***********************************************************************
  270.  
  271. C
  272. C subroutine MAJSEG
  273. C
  274. ENTRY OMAJSE(IMAJ,IRESU,IQUALI,INUMNO,INUMEL)
  275. call oglmajse(imaj,iresu,iquali,inumno,inumel)
  276. C
  277. RETURN
  278. C***********************************************************************
  279. C
  280. entry OTRMES(titre )
  281. call ogltrmess(titre ,LONG(titre ))
  282. C
  283. RETURN
  284. C***********************************************************************
  285. C
  286. C subroutine TRGET
  287. C
  288. C -----------------------------------------
  289. C Sous-programme uniquement appele par MODI
  290. C -----------------------------------------
  291. ENTRY OTRGET(PROMPT,REPLY)
  292. LPROMP=LONG(PROMPT)
  293. LREPLY=LONG(REPLY)
  294. CHAINE=PROMPT
  295. CALL oglGET(ICHAIN,LPROMP,ICHAIN,LREPLY)
  296. REPLY=' '
  297. IF (LREPLY.NE.0) REPLY=CHAINE(1:LREPLY)
  298. RETURN
  299.  
  300. RETURN
  301. C ------------
  302. C fin de TRGET
  303. C ------------
  304. ***************************************************************************************
  305. * transmission de l'option NCLK
  306. ENTRY ORCLIK(KCLICK)
  307. CALL OCLIK(KCLICK)
  308. END
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  

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