1 : C ADDITI SOURCE CHAT 05/01/12 21:17:40 5004 2 : C CE SOUS PROGRAMME AJOUTE LE POINT X A UN OBJET ELEMENTAIRE 3 : C IL RELAIE A ADDITEL 4 : C 5 : SUBROUTINE ADDITI(X,IPT1,IPT2,ICPR) 6 : IMPLICIT INTEGER(I-N) 7 : IMPLICIT REAL*8 (A-H,O-Z) 8 : DIMENSION X(3) 9 : -INC CCOPTIO 10 : -INC SMELEME 11 : SEGACT IPT1 12 : C ON TRAVAILLE SUR LES SOUS-OBJETS ET SUR LES REFERENCES ELEMENTAIRES 13 : IF (IPT1.LISOUS(/1).NE.0) GOTO 50 13 : CALL ADDITE(X,IPT1,IPT2,ICPR,1) 14 : IF (IPT1.LISREF(/1).EQ.0) GOTO 100 15 : NBREF=IPT1.LISREF(/1) 16 : GO TO 60 17 : 50 NBELEM=0 18 : NBNN=0 19 : NBSOUS=IPT1.LISOUS(/1) 20 : NBREF=IPT1.LISREF(/1) 21 : SEGINI IPT2 22 : DO 51 I=1,IPT1.LISOUS(/1) 23 : IPT3=IPT1.LISOUS(I) 24 : SEGACT IPT3 25 : C ON ENLEVE LES REFERENCES 25 : CALL ADDITE(X,IPT3,IPT5,ICPR,0) 26 : SEGDES IPT3,IPT5 27 : IPT2.LISOUS(I)=IPT5 28 : 51 CONTINUE 29 : 60 CONTINUE 30 : IF (IPT1.LISREF(/1).EQ.0) GOTO 100 31 : C POUR LES REFERENCES ON ESSAYE D'EN PRENDRE LES REFERENCES ICI 32 : DO 61 I=1,IPT1.LISREF(/1) 33 : IPT3=IPT1.LISREF(I) 34 : SEGACT IPT3 35 : IF (IPT3.LISOUS(/1).NE.0) GOTO 67 35 : CALL ADDITE(X,IPT3,IPT5,ICPR,1) 36 : IF (IPT5.LISREF(/1).EQ.0) GOTO 62 37 : DO 63 J=1,IPT3.LISREF(/1) 38 : IPT6=IPT3.LISREF(J) 39 : SEGACT IPT6 40 : IF (IPT6.LISOUS(/1).NE.0) GOTO 64 40 : CALL ADDITE(X,IPT6,IPT8,ICPR,0) 41 : SEGDES IPT6,IPT8 42 : IPT5.LISREF(J)=IPT8 43 : GOTO 63 44 : C FAUX MAIS NE PLANTE PAS 45 : 64 IPT5.LISREF(J)=IPT6 46 : 63 CONTINUE 47 : 62 CONTINUE 48 : SEGDES IPT5 49 : IPT2.LISREF(I)=IPT5 50 : GOTO 68 51 : 67 CONTINUE 52 : NBREF=0 53 : NBSOUS=IPT3.LISOUS(/1) 54 : NBNN=0 55 : NBELEM=0 56 : SEGINI IPT8 57 : DO 69 I2=1,IPT3.LISOUS(/1) 58 : IPT5=IPT3.LISOUS(I2) 59 : SEGACT IPT5 59 : CALL ADDITE(X,IPT5,IPT7,ICPR,0) 60 : IPT8.LISOUS(I2)=IPT7 61 : SEGDES IPT5,IPT7 62 : 69 CONTINUE 63 : IPT2.LISREF(I)=IPT8 64 : 68 CONTINUE 65 : SEGDES IPT3 66 : 61 CONTINUE 67 : 100 CONTINUE 68 : SEGDES IPT1,IPT2 69 : RETURN 70 : END 71 :
© Cast3M 2003 - All rights reserved.
Disclaimer