Télécharger prlist.eso

Retour à la liste

Numérotation des lignes :

prlist
  1. C PRLIST SOURCE PASCAL 22/06/24 21:15:05 11393
  2.  
  3. C DONNE LA LISTE DES OBJETS EN MEMOIRE
  4. C SUIVI D'UN OBJET DONNE DES INFORMATIONS SUR LUI
  5. C 09/2003 : Affichage point si IDIM = 1 (GOTO 70)
  6. C 10/2003 : Affichage modele pour IDIM = 1 (GOTO
  7.  
  8. SUBROUTINE PRLIST
  9.  
  10. IMPLICIT INTEGER(I-N)
  11. IMPLICIT REAL*8(A-H,O-Z)
  12.  
  13. -INC CCNOYAU
  14.  
  15. -INC PPARAM
  16. -INC CCOPTIO
  17. -INC CCGEOME
  18. -INC SMLENTI
  19. -INC SMLREEL
  20. -INC SMCOORD
  21. -INC SMTEXTE
  22. -INC SMDEFOR
  23. -INC SMVECTE
  24. -INC CCASSIS
  25.  
  26. PARAMETER (NMO=37)
  27. LOGICAL IR
  28. CHARACTER*(LOCHAI) IMO
  29. CHARACTER*(8) ICHA
  30. CHARACTER*(8) LISMO(NMO)
  31. CHARACTER*24 TITI
  32.  
  33. DATA LISMO / 'MOT ','ENTIER ','FLOTTANT','LOGIQUE ',
  34. $ 'MAILLAGE','LISTENTI','POINT ','LISTREEL',
  35. $ 'CHPOINT ','RIGIDITE','TEXTE ','STRUCTUR',
  36. $ 'ATTACHE ','SOLUTION','BASEMODA','LISTOBJE',
  37. $ '--------','VECTDOUB','LISTMOTS','DEFORME ',
  38. $ 'LISTCHPO','CHARGEME','EVOLUTIO','--------',
  39. $ 'VECTEUR ','TABLE ','PROCEDUR','ELEMSTRU',
  40. $ 'BLOQSTRU','MCHAML ','MMODEL ','ANNULE ',
  41. $ 'NUAGE ','MATRIK ','OBJET ','ESCLAVE ',
  42. $ 'ANNOTATI'/
  43.  
  44. JENTET=0
  45.  
  46.  
  47. 1100 CONTINUE
  48.  
  49.  
  50. c * modif LODESL pour les objets ESCLAVE
  51. c * LODESL = .TRUE.
  52. c CALL LIROBJ('PROCEDUR',IRET,0,IRETOU)
  53. c * LODESL = .FALSE.
  54. c IF (IRETOU.NE.0) THEN
  55. c CALL ECPROC
  56. c RETURN
  57. c ENDIF
  58.  
  59. * modif LODESL pour les objets ESCLAVE
  60. * LODESL = .TRUE.
  61. CALL QUETYP(ICHA,0,IRETOU)
  62. * LODESL = .FALSE.
  63. IF (IERR.NE.0) RETURN
  64.  
  65. * LISTE DE TOUS LES OBJETS NOMMES...
  66. * ==================================
  67. IF (IRETOU.NE.1) THEN
  68. ICHA=' '
  69. CALL REPER(ICHA)
  70. RETURN
  71. ENDIF
  72.  
  73. * ...OU BIEN AIGUILLAGE VERS LE TYPE D'OBJET DETECTE PAR QUETYP
  74. * =============================================================
  75. DO 1000 IPPL=1,NMO
  76. IF(LISMO(IPPL).EQ.ICHA) GOTO 1001
  77. 1000 CONTINUE
  78. MOTERR(1:8) = ICHA
  79. CALL ERREUR(387)
  80. RETURN
  81. 1001 CONTINUE
  82.  
  83. C MOT, ENTIER, FLOTTANT et LOGIQUE sont traites a part, comme d'habitude
  84. IF (IPPL.GT.4) GOTO 1005
  85. GOTO (10,20,30,40),IPPL
  86.  
  87. C LISTE D'UN MOT
  88. C ==============
  89. 10 CONTINUE
  90. CALL LIRCHA(IMO,1,IRETOU)
  91.  
  92. * ***********************************
  93. * CAS PARTICULIER 1 : ON VEUT LISTER TOUS LES OBJETS D'UN TYPE DONNE
  94. IF(IMO(1:1).EQ.'*') THEN
  95. CALL LIRCHA(ICHA,1,IRETOU)
  96. IF (IERR.NE.0) RETURN
  97. CALL REPER(ICHA)
  98. RETURN
  99. ENDIF
  100. * CAS PARTICULIER 2 : ON INDIQUE QU'ON VEUT UN LISTING RESUME
  101. IF (IMO(1:4).EQ.'RESU') THEN
  102. JENTET = 1
  103. GOTO 1100
  104. ENDIF
  105. * ***********************************
  106.  
  107. INTERR(1)=IRETOU
  108. MOTERR=IMO
  109. CALL ERREUR(-2)
  110. GOTO 50000
  111.  
  112. C LISTE D'UN ENTIER
  113. C =================
  114. 20 CONTINUE
  115. CALL LIRENT(IRET,1,IRETOU)
  116. INTERR(1)=IRET
  117. CALL ERREUR(-3)
  118. GOTO 50000
  119.  
  120. C LISTE D'UN FLOTTANT
  121. C ===================
  122. 30 CONTINUE
  123. CALL LIRREE(REEL,1,IRETOU)
  124. REAERR(1)=REEL
  125. CALL ERREUR(-4)
  126. GOTO 50000
  127.  
  128. C LISTE D'UN LOGIQUE
  129. C ==================
  130. 40 CONTINUE
  131. CALL LIRLOG(IR,1,IRETOU)
  132. IF(IR) THEN
  133. MOTERR(1:4)='VRAI'
  134. CALL ERREUR(-5)
  135. ELSE
  136. MOTERR(1:4)='FAUX'
  137. CALL ERREUR(-5)
  138. ENDIF
  139. GOTO 50000
  140.  
  141. C on traite enfin tous les autres types d'objet
  142. 1005 CONTINUE
  143. IPP=IPPL-4
  144. CALL LIROBJ(ICHA,IRET,1,IRETOU)
  145. CALL ACTOBJ(ICHA,IRET,1)
  146. IF (IERR.NE.0) GOTO 50000
  147. GOTO ( 50, 60, 70, 80, 90,100,110,120,130,140,150,160,170,180,
  148. . 190,200,210,220,230,240,250,260,270,280,290,300,310,320,
  149. . 330,340,350,360,370),IPP
  150.  
  151. C LISTE D'UN MAILLAGE
  152. C ===================
  153. 50 CONTINUE
  154. CALL ECMAIL(IRET,JENTET)
  155. GOTO 50000
  156.  
  157. C LISTE D'UN LISTENTI
  158. C ===================
  159. 60 CONTINUE
  160. MLENTI=IRET
  161. SEGACT MLENTI
  162. N1=LECT(/1)
  163. INTERR(1)=N1
  164. INTERR(2)=MLENTI
  165. CALL ERREUR(-6)
  166. if(jentet.eq.1) n1 = min ( n1, 10)
  167. c IF(N1.NE.0) WRITE(IOIMP,62)(LECT(J),J=1,N1)
  168. c 62 FORMAT((20I6))
  169. cbp : on lit eventuellement nombre de colonne avant retour a la ligne :
  170. NMAX=20
  171. CALL LIRENT(IMAX,0,IRETOU)
  172. if(IRETOU.NE.0) NMAX=IMAX
  173. WRITE(TITI,FMT='("(",I3,"(I6))")') NMAX
  174. IF(N1.NE.0) WRITE(IOIMP,TITI)(LECT(J),J=1,N1)
  175. SEGDES MLENTI
  176. GOTO 50000
  177.  
  178. C LISTE D'UN POINT
  179. C ================
  180. 70 CONTINUE
  181. SEGACT MCOORD
  182. IB=IRET
  183. ID=(IDIM+1)*(IB-1)
  184. INTERR(1)=IB
  185. REAERR(1)=XCOOR(ID+1)
  186. REAERR(2)=XCOOR(ID+2)
  187. IF (IDIM.EQ.1) THEN
  188. CALL ERREUR(-339)
  189. ELSE
  190. REAERR(3)=XCOOR(ID+3)
  191. IF (IDIM.EQ.2) CALL ERREUR(-7)
  192. IF (IDIM.EQ.3) THEN
  193. REAERR(4)=XCOOR(ID+4)
  194. CALL ERREUR(-8)
  195. ENDIF
  196. ENDIF
  197. RETURN
  198.  
  199. C LISTE D'UN LISTREEL
  200. C ===================
  201. 80 CONTINUE
  202. CALL ECLRE1(IRET,JENTET)
  203. GO TO 50000
  204.  
  205. C LISTE D'UN CHPOINT
  206. C ==================
  207. 90 CONTINUE
  208. CALL ECCHPO(IRET,jentet)
  209. GO TO 50000
  210.  
  211. C LISTE D'UNE RIGIDITE
  212. C ====================
  213. 100 CONTINUE
  214. CALL PRRIGI(IRET,jentet)
  215. GO TO 50000
  216.  
  217. C LISTE D'UN OBJET TEXTE
  218. C ======================
  219. 110 CONTINUE
  220. MTEXTE=IRET
  221. SEGACT MTEXTE
  222. INTERR(1)=NCART
  223. CALL ERREUR (-10)
  224. IF(NCART.NE.0) WRITE(IOIMP,111) MTEXT
  225. 111 FORMAT(5X,A72)
  226. SEGDES MTEXTE
  227. GO TO 50000
  228.  
  229. C LISTE D'UN OBJET STRUCTURE
  230. C ==========================
  231. 120 CONTINUE
  232. CALL ECSTRU(IRET)
  233. GO TO 50000
  234.  
  235. C LISTE D'UN OBJET ATTACHE
  236. C ========================
  237. 130 CONTINUE
  238. CALL ECMATT(IRET,jentet)
  239. GO TO 50000
  240.  
  241. C LISTE D'UN OBJET SOLUTION
  242. C =========================
  243. 140 CONTINUE
  244. CALL ECSOLU(IRET,jentet)
  245. GO TO 50000
  246.  
  247. C LISTE D'UN OBJET BASEMODA
  248. C =========================
  249. 150 CONTINUE
  250. CALL ECBASE(IRET)
  251. GO TO 50000
  252.  
  253. C LISTE D'UN OBJET LISTOBJE
  254. C =========================
  255. 160 CONTINUE
  256. CALL ECLOBJ(IRET,JENTET)
  257. GOTO 50000
  258.  
  259. C ... INUTILISE
  260. C =============
  261. 170 CONTINUE
  262. GOTO 50000
  263.  
  264. C LISTE D'UN VECTDOUB
  265. C ===================
  266. 180 CONTINUE
  267. CALL PRVECT(IRET,jentet)
  268. GO TO 50000
  269.  
  270. C LISTE D'UN LISTMOTS
  271. C ===================
  272. 190 CONTINUE
  273. CALL ECLMOT(IRET)
  274. GOTO 50000
  275.  
  276. C LISTE D'UNE DEFORMEE
  277. C ====================
  278. 200 CONTINUE
  279. MDEFOR=IRET
  280. SEGACT MDEFOR
  281. NDEF=AMPL(/1)
  282. INTERR(1)=NDEF
  283. CALL ERREUR(-11)
  284. WRITE (IOIMP,201) (AMPL(I),IELDEF(I),ICHDEF(I),MTVECT(I),
  285. * NCOUL(JCOUL(I)),MDCHP(I),MDCHEL(I),MDMODE(I),I=1,NDEF)
  286. 201 FORMAT(1X,G12.5,4X,I8,I8,I8,2X,A6,3X,I8,4X,I8,I8)
  287. SEGDES MDEFOR
  288. GOTO 50000
  289.  
  290. C LISTE D'UNE LISTCHPO
  291. C ====================
  292. 210 CONTINUE
  293. CALL ECLCHP(IRET,jentet)
  294. GOTO 50000
  295.  
  296. C LISTE D'UN CHARGEMENT
  297. C =====================
  298. 220 CONTINUE
  299. CALL ECCHAR(IRET,jentet)
  300. GOTO 50000
  301.  
  302. C LISTE D'UNE EVOLUTION
  303. C =====================
  304. 230 CONTINUE
  305. CALL ECEVOL(IRET,jentet)
  306. GOTO 50000
  307.  
  308. C ... INUTILISE
  309. C =============
  310. 240 CONTINUE
  311. GOTO 50000
  312.  
  313. C LISTE D'UN VECTEUR
  314. C ==================
  315. 250 CONTINUE
  316. MVECTE=IRET
  317. SEGACT MVECTE
  318. NVEC=AMPF(/1)
  319. ID=NOCOVE(/3)
  320. INTERR(1)=NVEC
  321. CALL ERREUR(-12)
  322. DO i=1,NVEC
  323. WRITE(IOIMP,251) AMPF(i),ICHPO(i),
  324. & NCOUL(MAX(0,MIN(NBCOUL-1,NOCOUL(i)))),
  325. & (NOCOVE(i,j),j=1,ID)
  326. ENDDO
  327. 251 FORMAT(2X,G12.5,3X,I8,3X,A4,6X,A4,4X,A4,4X,A4)
  328. SEGDES MVECTE
  329. GOTO 50000
  330.  
  331. C LISTE D'UNE TABLE
  332. C =================
  333. 260 CONTINUE
  334. CALL ECTABL(IRET)
  335. GOTO 50000
  336.  
  337. C LISTE D'UNE PROCEDURE
  338. C =====================
  339. 270 CONTINUE
  340. CALL ECPROC
  341. RETURN
  342.  
  343. C LISTE D'UN OBJET ELEMSTRU
  344. C =========================
  345. 280 CONTINUE
  346. CALL PRELST(IRET)
  347. GOTO 50000
  348.  
  349. C LISTE D'UN OBJET BLOQSTRU
  350. C =========================
  351. 290 CONTINUE
  352. CALL PRCLST(IRET)
  353. GOTO 50000
  354.  
  355. C LISTE D'UN MCHAML
  356. C =================
  357. 300 CONTINUE
  358. CALL ZPCHEL(IRET,jentet)
  359. GOTO 50000
  360.  
  361. C LISTE D'UN MMODEL
  362. C =================
  363. 310 CONTINUE
  364. CALL ZPMODE(IRET)
  365. GOTO 50000
  366.  
  367. C CAS D'UN OBJET DE TYPE ANNULE
  368. C =============================
  369. 320 CONTINUE
  370. CALL ERREUR(-256)
  371. GOTO 50000
  372.  
  373. C LISTE D'UN NUAGE
  374. C ================
  375. 330 CONTINUE
  376. CALL ECNUAG(IRET)
  377. GOTO 50000
  378.  
  379. C LISTE D'UN MATRIK
  380. C =================
  381. 340 CONTINUE
  382. CALL ECMATK(IRET)
  383. GOTO 50000
  384.  
  385. C LISTE D'UN OBJET (DE TYPE = OBJET)
  386. C ==================================
  387. 350 CALL ECTABL(-IRET)
  388. GOTO 50000
  389.  
  390. C LISTE D'UN OBJET ESCLAVE
  391. C ========================
  392. 360 CONTINUE
  393. * modif LODESL pour les objets ESCLAVE
  394. * LODESL = .TRUE.
  395. CALL LIROBJ(ICHA,IRET,1,IRETOU)
  396. * LODESL = .FALSE.
  397. MESRES = IRET
  398. SEGACT MESRES
  399. IF ( LOREMP ) WRITE(ioimp,*) 'objet ESCLAVE, ????'
  400. WRITE(ioimp,*) ' objet ESCLAVE '
  401. SEGDES MESRES
  402. GOTO 50000
  403.  
  404. C LISTE D'UN OBJET ANNOTATION
  405. C ===========================
  406. 370 CALL ECANNO(IRET)
  407. GOTO 50000
  408.  
  409. 50000 CONTINUE
  410.  
  411. RETURN
  412. END
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  

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