1 SUBROUTINE LIOPT(FICLEC,FICLEC2,XINIT_ROTX,XINIT_ROTY,XINIT_ROTZ 2 & ,XINIT_VISO,XINIT_VMIN,XINIT_VMAX,XINIT_FACT 3 & ,XINIT_FACTX,XINIT_FACTY,XINIT_FACTZ,XINIT_FACV 4 & ,XINIT_XCUR,XINIT_YCUR,XINIT_ZOOM 5 & ,INIT_TABLE,INIT_ISO,INIT_FICH 6 & ,INIT_FICH2,INIT_BORD,INIT_DEFPS,INIT_NBCOUL 7 & ,INIT_FLECH,INIT_RECON,INIT_ISOBID,INIT_IBOITE 8 & ,INIT_IECBOI,INIT_FOND,INIT_IAXES,INIT_IPERSP 9 & ,INIT_DIRL,INIT_MODE,INIT_DEPL,INIT_SYMINV 10 & ,INIT_ICTFAC) 11 INCLUDE 'com_options.f' 12 CHARACTER*128 FICLEC,FICLEC2,CBIDON 13 INTEGER IVIRG(10) 14C 15 XINIT_ECH(1,1) = BIGS 16 XINIT_ECH(2,1) = BIGS 17 XINIT_ECH(1,2) = BIGS 18 XINIT_ECH(2,2) = BIGS 19 XINIT_ECH(1,3) = BIGS 20 XINIT_ECH(2,3) = BIGS 21 XINIT_FACT = BIGS 22 XINIT_FACTX = BIGS 23 XINIT_FACTY = BIGS 24 XINIT_FACTZ = BIGS 25 XINIT_FACV = 0. 26 XINIT_ROTX = BIGS 27 XINIT_ROTY = BIGS 28 XINIT_ROTZ = BIGS 29 XINIT_VISO = BIGS 30 XINIT_VMIN = BIGS 31 XINIT_VMAX = BIGS 32 XINIT_XCUR = BIGS 33 XINIT_YCUR = BIGS 34 XINIT_ZOOM = BIGS 35 INIT_BORD = 9999 36 INIT_DEPL = -1 37 INIT_DEFPS = 9999 38 INIT_DIRL = 0 39 INIT_FICH = 0 40 INIT_FICH2 = 0 41 INIT_FLECH = 0 42 INIT_FOND = -1 43 INIT_IAXES = -1 44 INIT_IBOITE = -1 45 INIT_ICTFAC = 0 46 INIT_IECBOI = -1 47 INIT_IPERSP = 0 48 INIT_ISO = 0 49 INIT_ISOBID = 0 50 INIT_MODE = -1 51 INIT_NBCOUL = 0 52 INIT_RECON = 0 53 INIT_TABLE = 0 54 INIT_SYMINV = 0 55 ICHARG = 0 56C 57 CALL GETARG(0,PROGEFF) 58 CALL ENLEVE_TOUS_BLANCS(PROGEFF,LPROGEFF,80) 59 NUMARG = IARGC() 60 IF (NUMARG.EQ.0) THEN 61 NOM_FICH = ' ' 62 LONG = 0 63 ELSE 64 CALL GETARG(NUMARG,NOM_FICH) 65 CALL ENLEVE_TOUS_BLANCS(NOM_FICH,LONG,128) 66 IF (NOM_FICH(1:1).EQ.'-') THEN 67 DO I=1,NUMARG 68 CALL GETARG(I,CBIDON) 69 CALL ENLEVE_TOUS_BLANCS(CBIDON,LBID,128) 70 IF ((LBID.EQ.8.AND.CBIDON(1:8).EQ.'-english') 71 & .OR.(LBID.EQ.4.AND.CBIDON(1:4).EQ.'-eng')) THEN 72 III = ILANG 73 ILANG = 1 74 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 75 ELSEIF((LBID.EQ.9.AND.CBIDON(1:9).EQ.'-francais') 76 & .OR.(LBID.EQ.7.AND.CBIDON(1:7).EQ.'-french')) THEN 77 III = ILANG 78 ILANG = 0 79 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 80 ENDIF 81 ENDDO 82 CALL VH 83 NOM_FICH = ' ' 84 LONG = 0 85 NUMARG = NUMARG+1 86 ENDIF 87 NBERR = 0 88 IF (NUMARG.GT.1) THEN 89 DO I=1,NUMARG-1 90 DO K=1,128 91 CBIDON(K:K) = ' ' 92 ENDDO 93 CALL GETARG(I,CBIDON) 94 CALL ENLEVE_TOUS_BLANCS(CBIDON,LBID,128) 95 IF (LBID.EQ.5.AND.CBIDON(1:5).EQ.'-auto') THEN 96 IAUTORELOAD = 1 97 ELSEIF(LBID.EQ.7.AND.CBIDON(1:6).EQ.'-axis=') THEN 98 READ(CBIDON(7:7),'(I1)') INIT_IAXES 99 INIT_IAXES = MIN(5,MAX(0,INIT_IAXES)) 100 ELSEIF(LBID.GT.4.AND.CBIDON(1:4).EQ.'-bg=') THEN 101 IF (LBID.EQ.5) THEN 102 READ(CBIDON(5:5),'(I1)') INIT_FOND 103 ELSE 104 READ(CBIDON(5:6),'(I2)') INIT_FOND 105 ENDIF 106 INIT_FOND = MIN(15,MAX(0,INIT_FOND)) 107 ELSEIF(LBID.EQ.7.AND.CBIDON(1:6).EQ.'-bord=') THEN 108 READ(CBIDON(7:7),'(I1)') INIT_BORD 109 IF (INIT_BORD.GT.8) THEN 110 INIT_BORD = 9999 111 IF (ILANG.EQ.0) THEN 112 PRINT*, 113 & '*** Les types de bords sont compris entre 0 et 8' 114 ELSE 115 PRINT*, 116 & '*** Boundary type lies between 0 and 8' 117 ENDIF 118 CALL ERREUROPT(CBIDON,LBID,NBERR) 119 ENDIF 120 ELSEIF(LBID.GT.5.AND.CBIDON(1:5).EQ.'-box=') THEN 121 IF (LBID.NE.7) THEN 122 IF (LBID.EQ.6.AND.CBIDON(6:6).EQ.'0') THEN 123 INIT_IBOITE = 0 124 INIT_IECBOI = 0 125 ELSE 126 IF (ILANG.EQ.0) THEN 127 PRINT*, 128 & '*** Types de boites possibles: 0 ou [10,14] ou [20,24]' 129 ELSE 130 PRINT*, 131 & '*** Possible box types: 0 or [10,14] or [20,24]' 132 ENDIF 133 CALL ERREUROPT(CBIDON,LBID,NBERR) 134 ENDIF 135 ELSE 136 READ(CBIDON(6:7),'(I2)') IBID 137 INIT_IBOITE = IBID/10 138 INIT_IECBOI = MOD(IBID,10) 139 INIT_IBOITE = MAX(0,MIN(2,INIT_IBOITE)) 140 INIT_IECBOI = MAX(0,MIN(8,INIT_IECBOI)) 141 ENDIF 142 ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-colseg=') THEN 143 READ(CBIDON(9:LBID),*) ICOLAR 144 ICOLAR = MIN(15,MAX(0,ICOLAR)) 145 ELSEIF(LBID.GT.5.AND.CBIDON(1:5).EQ.'-cour') THEN 146 IF (CBIDON(6:10).EQ.'fich=') THEN 147 NOM_COUR = CBIDON(11:LBID) 148 LONCOUR = LBID-10 149 ELSEIF(CBIDON(6:14).EQ.'lignecol=') THEN 150 READ(CBIDON(15:LBID),*) ICSEG 151 IF (ICSEG.LT.0.OR.ICSEG.GT.15) ICSEG = 7 152 ELSEIF(CBIDON(6:11).EQ.'ptcol=') THEN 153 READ(CBIDON(12:LBID),*) ICPTS 154 IF (ICPTS.LT.0.OR.ICPTS.GT.15) ICPTS = 1 155 ELSEIF(CBIDON(6:12).EQ.'ptsize=') THEN 156 READ(CBIDON(13:LBID),*) FACPTS 157 FACPTS = MAX(0.,FACPTS) 158 ELSEIF(CBIDON(6:16).EQ.'epaisligne=') THEN 159 READ(CBIDON(17:LBID),*) IEPSEG 160 ELSEIF(CBIDON(6:12).EQ.'pttype=') THEN 161 READ(CBIDON(13:LBID),*) ITPTS 162 ELSEIF(CBIDON(6:10).EQ.'ptvu=') THEN 163 READ(CBIDON(11:LBID),*) IOPMAR 164 ENDIF 165 ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-cri') THEN 166 IOPTFORME = -3 167 NODEPL = 1 168 ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-depl') THEN 169 IF (LBID.EQ.5) THEN 170 INIT_DEPL = 0 171 ELSEIF(CBIDON(6:6).EQ.'=') THEN 172 READ(CBIDON(7:LBID),*) INIT_DEPL 173 ELSE 174 CALL ERREUROPT(CBIDON,LBID,NBERR) 175 ENDIF 176 ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-nodepl') THEN 177 NODEPL = 1 178 ELSEIF(LBID.GT.4.AND.CBIDON(1:4).EQ.'-ech') THEN 179 IF (LBID.GT.7.AND.CBIDON(1:7).EQ.'-echx0=') THEN 180 READ(CBIDON(8:LBID),*) XINIT_ECH(1,1) 181 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echx1=') THEN 182 READ(CBIDON(8:LBID),*) XINIT_ECH(2,1) 183 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echy0=') THEN 184 READ(CBIDON(8:LBID),*) XINIT_ECH(1,2) 185 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echy1=') THEN 186 READ(CBIDON(8:LBID),*) XINIT_ECH(2,2) 187 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echz0=') THEN 188 READ(CBIDON(8:LBID),*) XINIT_ECH(1,3) 189 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-echz1=') THEN 190 READ(CBIDON(8:LBID),*) XINIT_ECH(2,3) 191 ENDIF 192 IF (XINIT_ECH(1,1).NE.BIGS 193 & .AND.XINIT_ECH(2,1).NE.BIGS) THEN 194 XEMI = MIN(XINIT_ECH(1,1),XINIT_ECH(2,1)) 195 XEMA = MAX(XINIT_ECH(1,1),XINIT_ECH(2,1)) 196 XINIT_ECH(1,1) = XEMI 197 XINIT_ECH(2,1) = XEMA 198 ENDIF 199 IF (XINIT_ECH(1,2).NE.BIGS 200 & .AND.XINIT_ECH(2,2).NE.BIGS) THEN 201 YEMI = MIN(XINIT_ECH(1,2),XINIT_ECH(2,2)) 202 YEMA = MAX(XINIT_ECH(1,2),XINIT_ECH(2,2)) 203 XINIT_ECH(1,2) = YEMI 204 XINIT_ECH(2,2) = YEMA 205 ENDIF 206 IF (XINIT_ECH(1,3).NE.BIGS 207 & .AND.XINIT_ECH(2,3).NE.BIGS) THEN 208 ZEMI = MIN(XINIT_ECH(1,3),XINIT_ECH(2,3)) 209 ZEMA = MAX(XINIT_ECH(1,3),XINIT_ECH(2,3)) 210 XINIT_ECH(1,3) = ZEMI 211 XINIT_ECH(2,3) = ZEMA 212 ENDIF 213 ELSEIF(LBID.EQ.8.AND.CBIDON(1:8).EQ.'-english') THEN 214 III = ILANG 215 ILANG = 1 216 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 217 ELSEIF(LBID.EQ.4.AND.CBIDON(1:4).EQ.'-eng') THEN 218 III = ILANG 219 ILANG = 1 220 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 221 ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-exag') THEN 222 IF (LBID.EQ.5 223 & .OR.(LBID.EQ.10.AND.CBIDON(6:10).EQ.'=auto')) THEN 224 XINIT_FACT = 311263. 225 ITOUCHEX = 1 226 ELSEIF(LBID.GT.6.AND.CBIDON(6:6).EQ.'=') THEN 227 READ(CBIDON(7:LBID),*) XINIT_FACT 228 IF (XINIT_FACT.NE.1.) ITOUCHEX = 1 229 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagx=') THEN 230 READ(CBIDON(8:LBID),*) XINIT_FACTX 231 IF (XINIT_FACTX.NE.1.) ITOUCHEX = 1 232 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagy=') THEN 233 READ(CBIDON(8:LBID),*) XINIT_FACTY 234 IF (XINIT_FACTY.NE.1.) ITOUCHEX = 1 235 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-exagz=') THEN 236 READ(CBIDON(8:LBID),*) XINIT_FACTZ 237 IF (XINIT_FACTZ.NE.1.) ITOUCHEX = 1 238 ENDIF 239 ELSEIF(LBID.EQ.5.AND.CBIDON(1:5).EQ.'-cube') THEN 240 XINIT_FACTX = 0. 241 XINIT_FACTY = 0. 242 XINIT_FACTZ = 0. 243 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-fich=') THEN 244 IDIEZE = 0 245 DO K=7,LBID 246 IF (CBIDON(K:K).EQ.'#') IDIEZE=K 247 ENDDO 248 IF (IDIEZE.GT.0.AND.IDIEZE.LT.LBID) THEN 249 READ(CBIDON(IDIEZE+1:LBID),*) ICHARG 250 LBID = IDIEZE-1 251 ENDIF 252 IF (INIT_FICH.GT.0) THEN 253 FICLEC2 = CBIDON(7:LBID) 254 INIT_FICH2 = LBID-6 255 CALL REMETFULLPATH(FICLEC2,INIT_FICH2) 256 ELSE 257 FICLEC = CBIDON(7:LBID) 258 INIT_FICH = LBID-6 259 CALL REMETFULLPATH(FICLEC,INIT_FICH) 260 ENDIF 261 ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-fleche') THEN 262 INIT_FLECH = 1 263 IF (LBID.GT.7.AND.CBIDON(8:8).EQ.'=') THEN 264 READ(CBIDON(9:LBID),*) XINIT_FACV 265 IF (XINIT_FACV.EQ.0.) XINIT_FACV = 1.E-4 266 ENDIF 267 ELSEIF(LBID.GE.6.AND.CBIDON(1:6).EQ.'-arrow') THEN 268 INIT_FLECH = 1 269 IF (LBID.GT.6.AND.CBIDON(7:7).EQ.'=') THEN 270 READ(CBIDON(8:LBID),*) XINIT_FACV 271 IF (XINIT_FACV.EQ.0.) XINIT_FACV = 1.E-4 272 ENDIF 273 ELSEIF(LBID.EQ.9.AND.CBIDON(1:9).EQ.'-francais') THEN 274 III = ILANG 275 ILANG = 0 276 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 277 ELSEIF(LBID.EQ.7.AND.CBIDON(1:7).EQ.'-french') THEN 278 III = ILANG 279 ILANG = 0 280 IF (III.NE.ILANG) CALL BERLITZ(ILANG) 281 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-front=') THEN 282 IF (CBIDON(8:8).EQ.'1') THEN 283 IFRONT = 1 284 ELSEIF(CBIDON(8:8).EQ.'2') THEN 285 IFRONT = 2 286 ELSEIF(CBIDON(8:8).EQ.'3') THEN 287 IFRONT = 3 288 ELSEIF(CBIDON(8:8).EQ.'4') THEN 289 IFRONT = -1 290 ELSE 291 CALL ERREUROPT(CBIDON,LBID,NBERR) 292 ENDIF 293 ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-full') THEN 294 IELIMI = 1 295 IF (LBID.GE.11.AND.CBIDON(1:11).EQ.'-fullshrink') 296 & IDEBRAP = 1 297 ELSEIF(LBID.EQ.10.AND.CBIDON(1:9).EQ.'-gouraud=') THEN 298 IF (CBIDON(10:10).EQ.'1') THEN 299 INIT_ICTFAC = 97 300 ELSEIF(CBIDON(10:10).EQ.'2') THEN 301 INIT_ICTFAC = 96 302 ENDIF 303 ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-hidden') THEN 304 IFC = 1 305 ELSEIF(LBID.GE.9.AND.CBIDON(1:9).EQ.'-nohidden') THEN 306 IFC = -1 307 ELSEIF(LBID.EQ.7.AND.CBIDON(1:6).EQ.'-info=') THEN 308 IF (CBIDON(7:7).EQ.'1') THEN 309 IDEPOUILLE = 1 310 ELSEIF(CBIDON(7:7).EQ.'2') THEN 311 IDEPOUILLE = 2 312 ENDIF 313 ELSEIF((LBID.EQ.6.OR.LBID.GE.7) 314 & .AND.CBIDON(1:5).EQ.'-iso=') THEN 315 IF (LBID.EQ.6) THEN 316 IF (CBIDON(6:6).EQ.'x') THEN 317 INIT_ISOBID = 2 318 ELSEIF(CBIDON(6:6).EQ.'y') THEN 319 INIT_ISOBID = 3 320 ELSEIF(CBIDON(6:6).EQ.'z') THEN 321 INIT_ISOBID = 1 322 ELSE 323 READ(CBIDON(6:6),'(I1)') INIT_ISO 324 ENDIF 325 ELSE 326 READ(CBIDON(6:7),'(I2)') INIT_ISO 327 ENDIF 328 IF (INIT_ISO.GT.11.OR.INIT_ISO.LT.0) THEN 329 INIT_ISO = 0 330 IF (ILANG.EQ.0) THEN 331 PRINT*, 332 & '*** Les types d''isovaleurs sont compris entre 0 et 11' 333 ELSE 334 PRINT*, 335 & '*** Contour plot type lies between 0 and 11' 336 ENDIF 337 CALL ERREUROPT(CBIDON,LBID,NBERR) 338 ENDIF 339 ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-isosurf') THEN 340 IF (CBIDON(9:9).EQ.'=') THEN 341 READ(CBIDON(10:LBID),*) XINIT_VISO 342 ICALSU = 0 343 ELSEIF(CBIDON(9:10).EQ.'+=') THEN 344 READ(CBIDON(11:LBID),*) XINIT_VISO 345 ICALSU = 2 346 ELSEIF(CBIDON(9:10).EQ.'-=') THEN 347 READ(CBIDON(11:LBID),*) XINIT_VISO 348 ICALSU = 1 349 ELSE 350 CALL ERREUROPT(CBIDON,LBID,NBERR) 351 ENDIF 352 ELSEIF(LBID.GT.5.AND.CBIDON(1:4).EQ.'-leg') THEN 353 IF (CBIDON(5:5).EQ.'=') THEN 354 LONLEG = LBID-5 355 LEG(1:LONLEG) = CBIDON(6:LBID) 356 IF (LONLEG.GT.2.AND.LEG(1:1).EQ.LEG(LONLEG:LONLEG)) THEN 357 IF (LEG(1:1).EQ.'"'.OR.LEG(1:1).EQ."'") THEN 358 LEG(1:LONLEG-2) = LEG(2:LONLEG-1) 359 LONLEG = LONLEG-2 360 ENDIF 361 ENDIF 362 ILEGMAN = 1 363 IF (ILEG.EQ.0) ILEG = 1 364 ELSEIF(LBID.EQ.9.AND.CBIDON(1:8).EQ.'-legpos=') THEN 365 READ(CBIDON(9:9),*) ILEG 366 ILEG = MIN(MAX(ILEG,0),5) 367 ELSE 368 CALL ERREUROPT(CBIDON,LBID,NBERR) 369 ENDIF 370 ELSEIF(LBID.EQ.6.AND.CBIDON(1:6).EQ.'-noleg') THEN 371 ILEG = -1 372 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-light=') THEN 373 READ(CBIDON(8:LBID),*) INIT_DIRL 374 IF (INIT_DIRL.LT.-1.OR.INIT_DIRL.GT.6) THEN 375 CALL ERREUROPT(CBIDON,LBID,NBERR) 376 INIT_DIRL = 0 377 ENDIF 378 ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-log') THEN 379 IF (LBID.EQ.4) THEN 380 ILOGX = 1 381 ILOGY = 1 382 ILOGZ = 1 383 ELSEIF(CBIDON(5:5).EQ.'x') THEN 384 ILOGX = 1 385 ELSEIF(CBIDON(5:5).EQ.'y') THEN 386 ILOGY = 1 387 ELSEIF(CBIDON(5:5).EQ.'z') THEN 388 ILOGZ = 1 389 ELSE 390 CALL ERREUROPT(CBIDON,LBID,NBERR) 391 ENDIF 392 ELSEIF(LBID.GE.5.AND.CBIDON(1:5).EQ.'-mode') THEN 393 IF (LBID.EQ.5) THEN 394 INIT_MODE = 0 395 ELSEIF(CBIDON(6:6).EQ.'=') THEN 396 READ(CBIDON(7:LBID),*) INIT_MODE 397 ELSE 398 CALL ERREUROPT(CBIDON,LBID,NBERR) 399 ENDIF 400 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-nbcol=') THEN 401 READ(CBIDON(8:LBID),*) INIT_NBCOUL 402 ITOUCHNB = 1 403 ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-nbcoul=') THEN 404 READ(CBIDON(9:LBID),*) INIT_NBCOUL 405 ITOUCHNB = 1 406 ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-opt') THEN 407 IF (LBID.GE.5.AND.CBIDON(5:5).EQ.'p') THEN 408 IOPTFORME = 2 409 ELSE 410 IOPTFORME = 1 411 ENDIF 412cc NODEPL = 1 413 ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-lev') THEN 414 IF (CBIDON(5:5).EQ.'0') THEN 415 IOPTFORME = -2 416 ELSE 417 IOPTFORME = -1 418 ENDIF 419cc NODEPL = 1 420 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-persp=') THEN 421 READ(CBIDON(8:LBID),*) INIT_IPERSP 422 IF (INIT_IPERSP.LT.0.OR.INIT_IPERSP.GT.3) THEN 423 CALL ERREUROPT(CBIDON,LBID,NBERR) 424 INIT_IPERSP = 0 425 ELSE 426 IF (INIT_IPERSP.EQ.0) THEN 427 INIT_IPERSP = 1 428 ELSE 429 INIT_IPERSP = -INIT_IPERSP 430 ENDIF 431 ENDIF 432 ELSEIF(LBID.GE.3.AND.CBIDON(1:3).EQ.'-ps') THEN 433 IF (LBID.GT.7.AND.CBIDON(1:7).EQ.'-psdef=') THEN 434 NVIRG = 0 435 DO J=8,LBID 436 IF (CBIDON(J:J).EQ.',') THEN 437 NVIRG = NVIRG+1 438 IVIRG(NVIRG) = J 439 ENDIF 440 ENDDO 441 IVIRG(NVIRG+1) = LBID+1 442 I0 = 8 443 ISIG = 1 444 IINF = 0 445 IPOR = 1 446 IFLAG = 0 447 DO J=1,NVIRG+1 448 IF (CBIDON(I0:IVIRG(J)-1).EQ.'seul') THEN 449 INIT_DEFPS = 8 450 GOTO 10 451 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'sign') THEN 452 ISIG = 1 453 IFLAG = 1 454 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'nosign') THEN 455 ISIG = 0 456 IFLAG = 1 457 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'info') THEN 458 IINF = 1 459 IFLAG = 1 460 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'noinfo') THEN 461 IINF = 0 462 IFLAG = 1 463 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'port') THEN 464 IPOR = 1 465 IFLAG = 1 466 ELSEIF(CBIDON(I0:IVIRG(J)-1).EQ.'land') THEN 467 IPOR = 0 468 IFLAG = 1 469 ELSE 470Cfj IF (ILANG.EQ.0) THEN 471Cfj PRINT*, 472Cfj &'*** Option invalide : -psdef='//CBIDON(I0:IVIRG(J)-1) 473Cfj ELSE 474Cfj PRINT*, 475Cfj &'*** Invalid option: -psdef='//CBIDON(I0:IVIRG(J)-1) 476Cfj ENDIF 477 CALL ERREUROPT(CBIDON,LBID,NBERR) 478 ENDIF 479 I0 = IVIRG(J)+1 480 ENDDO 481 10 IF (INIT_DEFPS.NE.8.AND.IFLAG.EQ.1) THEN 482 INIT_DEFPS = 0 483 IF (ISIG.EQ.0) INIT_DEFPS = INIT_DEFPS+1 484 IF (IINF.EQ.1) INIT_DEFPS = INIT_DEFPS+2 485 IF (IPOR.EQ.0) INIT_DEFPS = INIT_DEFPS+4 486 ENDIF 487 ELSE 488 IBATCH = 1 489 ITERMC = 3 490 LLL = 4 491 IF (LBID.GE.6.AND.CBIDON(1:6).EQ.'-pscol') THEN 492 IPOSTCOL = 1 493 LLL = 7 494 ELSEIF(LBID.GE.7.AND.CBIDON(1:7).EQ.'-pscoul') THEN 495 IPOSTCOL = 1 496 LLL = 8 497 ENDIF 498 IF (LBID.GT.LLL) THEN 499 IF (CBIDON(LLL:LLL).EQ.'=') THEN 500 LONPS = LBID-LLL 501 NOMPS(1:LONPS) = CBIDON(LLL+1:LBID) 502 ISTDOUT = 1 503 ENDIF 504 ENDIF 505 ENDIF 506 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-rotx=') THEN 507 READ(CBIDON(7:LBID),*) XINIT_ROTX 508 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-roty=') THEN 509 READ(CBIDON(7:LBID),*) XINIT_ROTY 510 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-rotz=') THEN 511 READ(CBIDON(7:LBID),*) XINIT_ROTZ 512 ELSEIF(LBID.GE.9.AND.CBIDON(1:9).EQ.'-savemesh') THEN 513 ISAUVEMESH = 1 514 ELSEIF(LBID.GE.4.AND.CBIDON(1:4).EQ.'-sym') THEN 515 IF (LBID.GT.5.AND.CBIDON(1:5).EQ.'-sym=') THEN 516 READ(CBIDON(6:LBID),*) INIT_RECON 517 ELSEIF(LBID.EQ.5.AND.CBIDON(1:5).EQ.'-symr') THEN 518 IF (INIT_SYMINV.NE.1) ISYMR = 1 519 ELSEIF(LBID.EQ.7.AND.CBIDON(1:7).EQ.'-syminv') THEN 520 IF (ISYMR.NE.1) INIT_SYMINV = 1 521 ELSE 522 INIT_RECON = -1 523 ENDIF 524 ELSEIF(LBID.GT.7.AND.CBIDON(1:7).EQ.'-table=') THEN 525 ITOUCHTAB = 1 526 READ(CBIDON(8:LBID),*) INIT_TABLE 527 IF (INIT_TABLE.LE.0.OR.INIT_TABLE.GT.NTABMAX) THEN 528 IF (ILANG.EQ.0) THEN 529 PRINT*, 530 & '*** Les tables de couleurs doivent �tre entre 1 et',NTABMAX 531 ELSE 532 PRINT*, 533 & '*** Color table number are between 1 and',NTABMAX 534 ENDIF 535 INIT_TABLE = 0 536 CALL ERREUROPT(CBIDON,LBID,NBERR) 537 ENDIF 538 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-vmax=') THEN 539 READ(CBIDON(7:LBID),*) XINIT_VMAX 540 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-vmin=') THEN 541 READ(CBIDON(7:LBID),*) XINIT_VMIN 542 ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-xcentr=') THEN 543 READ(CBIDON(9:LBID),*) XINIT_XCUR 544 ELSEIF(LBID.GT.8.AND.CBIDON(1:8).EQ.'-ycentr=') THEN 545 READ(CBIDON(9:LBID),*) XINIT_YCUR 546 ELSEIF(LBID.GT.6.AND.CBIDON(1:6).EQ.'-zoom=') THEN 547 READ(CBIDON(7:LBID),*) XINIT_ZOOM 548 ELSE 549 CALL ERREUROPT(CBIDON,LBID,NBERR) 550 ENDIF 551 ENDDO 552 ENDIF 553 IF (NBERR.GT.0) CALL ETLEHELPALORS 554 ENDIF 555 END 556C======================================================================= 557 SUBROUTINE ETLEHELPALORS 558 INCLUDE 'com_options.f' 559C 560 IF (ILANG.EQ.0) THEN 561 PRINT*,'*** tapez "'//PROGEFF(1:LPROGEFF)// 562 & ' -h" pour voir la liste des options' 563 ELSE 564 PRINT*,'*** type "'//PROGEFF(1:LPROGEFF)// 565 & ' -h" to display the options list' 566 ENDIF 567 END 568C======================================================================= 569 SUBROUTINE ERREUROPT(CBIDON,LBID,NBERR) 570 INCLUDE 'com_options.f' 571 CHARACTER*128 CBIDON 572C 573 NBERR = NBERR+1 574 IF (ILANG.EQ.0) THEN 575 PRINT*,'*** Option invalide : '//CBIDON(1:LBID) 576 ELSE 577 PRINT*,'*** Invalid option: '//CBIDON(1:LBID) 578 ENDIF 579 END 580