moin
C MOIN SOURCE JC220346 18/12/04 21:15:47 9991
C MODI ACQUISITION PARAMETRES POUR PROJECTION
C
IMPLICIT INTEGER(I-N)
-INC PPARAM
-INC CCOPTIO
-INC TMLNOMS
SEGMENT LISENT(NTABLE)
COMMON /CMODI/LIGMAX,XPREC,YPREC
CHARACTER*8 ZONE,CTYP
CALL TRLABL(0.,20.,0.,'Directive MODI - Cas du 3D',26,1.)
CALL TRLABL(0.,18.,0.,'Vous pouvez reprojeter en sortie de MODI'
* ,40,1.)
CALL TRLABL(0.,16.,0.,'les points deplaces sur une surface',35,1.)
5 CONTINUE
CALL TRAFF(ICLE)
IF (ICLE.GT.6) THEN
CALL TRMESS('Erreur ! Recommencez')
GOTO 5
ENDIF
IF (ICLE.EQ.6) THEN
IREP=0
RETURN
ENDIF
SEGINI LISENT
DO 5498 I=1,NTABLE
IF(IERR.NE.0) RETURN
LISENT(I)=IP1
5498 CONTINUE
SEGACT MLNOMS
IF (ICLE.EQ.1) THEN
CALL TRLABL(0.,14.,0.,
>'Donnez le noms de trois points caracterisant le plan',52,1.)
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
12 CONTINUE
CALL TRGET('Donnez le nom du premier point :',ZONE)
DO 10 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 10
IP1=LISENT(I)
GOTO 11
10 CONTINUE
CALL TRMESS('Premier point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 12
11 CONTINUE
CALL TRGET('Donnez le nom du deuxieme point :',ZONE)
DO 13 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 13
IP2=LISENT(I)
GOTO 14
13 CONTINUE
CALL TRMESS('Deuxieme point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 12
14 CONTINUE
CALL TRGET('Donnez le nom du troisieme point :',ZONE)
DO 15 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 15
IP3=LISENT(I)
GOTO 16
15 CONTINUE
CALL TRMESS('Troisieme point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 12
16 CONTINUE
IREP=1
SEGSUP LISENT,MLNOMS
RETURN
ENDIF
IF (ICLE.EQ.2) THEN
CALL TRLABL(0.,14.,0.,
>'Donnez les noms du centre et d un point de la sphere',51,1.)
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
22 CONTINUE
CALL TRGET('Donnez le nom du centre :',ZONE)
DO 20 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 20
IP1=LISENT(I)
GOTO 21
20 CONTINUE
CALL TRMESS('Centre incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 22
21 CONTINUE
CALL TRGET('Donnez le nom du point :',ZONE)
DO 23 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 23
IP2=LISENT(I)
GOTO 24
23 CONTINUE
CALL TRMESS('Point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 22
24 CONTINUE
IREP=2
SEGSUP LISENT,MLNOMS
RETURN
ENDIF
IF (ICLE.EQ.3) THEN
CALL TRLABL(0.,14.,0.,'Donnez le noms de deux points de l axe'
* //'et d un point courant du cylindre',71,1.)
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
32 CONTINUE
CALL TRGET('Donnez le nom du premier point :',ZONE)
DO 30 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 30
IP1=LISENT(I)
GOTO 31
30 CONTINUE
CALL TRMESS('Premier point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 32
31 CONTINUE
CALL TRGET('Donnez le nom du deuxieme point :',ZONE)
DO 33 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 33
IP2=LISENT(I)
GOTO 34
33 CONTINUE
CALL TRMESS('Second point incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 32
34 CONTINUE
CALL TRGET('Donnez le nom du point courant:',ZONE)
DO 35 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 35
IP3=LISENT(I)
GOTO 36
35 CONTINUE
CALL TRMESS('Point courant incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 32
36 CONTINUE
IREP=3
SEGSUP LISENT,MLNOMS
RETURN
ENDIF
IF (ICLE.EQ.4) THEN
CALL TRLABL(0.,14.,0.,'Donnez les noms du sommet, d un point de'
* //' l axe et d un point courant du cone',76,1.)
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
42 CONTINUE
CALL TRGET('Donnez le nom du centre :',ZONE)
DO 40 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 40
IP1=LISENT(I)
GOTO 41
40 CONTINUE
CALL TRMESS('Centre incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 42
41 CONTINUE
CALL TRGET('Donnez le nom d un point de l axe :',ZONE)
DO 43 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 43
IP2=LISENT(I)
GOTO 44
43 CONTINUE
CALL TRMESS('Point de l axe incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 42
44 CONTINUE
CALL TRGET('Donnez le nom d un point courant :',ZONE)
DO 45 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 45
IP3=LISENT(I)
GOTO 46
45 CONTINUE
CALL TRMESS('Point courant incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 42
46 CONTINUE
IREP=4
SEGSUP LISENT,MLNOMS
RETURN
ENDIF
IF (ICLE.EQ.5) THEN
CALL TRLABL(0.,14.,0.,
> 'Donnez les noms du centre du tore, d un point de son axe',56,1.)
CALL TRLABL(0.,12.,0.,
>', d un centre de petit cercle et d un point courant',51,1.)
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
52 CONTINUE
CALL TRGET('Donnez le nom du centre du tore :',ZONE)
DO 50 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 50
IP1=LISENT(I)
GOTO 51
50 CONTINUE
CALL TRMESS('Centre incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 52
51 CONTINUE
CALL TRGET('Donnez le nom d un point de l axe :',ZONE)
DO 53 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 53
IP2=LISENT(I)
GOTO 54
53 CONTINUE
CALL TRMESS('Point de l axe incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 52
54 CONTINUE
CALL TRGET('Donnez le nom d un centre de petit '
* //'cercle :',ZONE)
DO 55 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 55
IP3=LISENT(I)
GOTO 56
55 CONTINUE
CALL TRMESS('Petit cercle incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 52
56 CONTINUE
CALL TRGET('Donnez le nom d un point courant :',ZONE)
DO 57 I=1,LINOMS(/2)
IF(ZONE.NE.LINOMS(I)) GO TO 57
IP4=LISENT(I)
GOTO 58
57 CONTINUE
CALL TRMESS('Point courant incorrect')
CALL TRAFF(ICLE)
IF (ICLE.EQ.2) THEN
IREP=0
RETURN
ENDIF
GOTO 52
58 CONTINUE
IREP=5
SEGSUP LISENT,MLNOMS
RETURN
ENDIF
END
					© Cast3M 2003 - Tous droits réservés.
					Mentions légales