C CHDITI SOURCE CHAT 05/01/12 21:56:21 5004 C CE SOUS PROGRAMME AJOUTE LE CHPOINT IPCH A UN OBJET ELEMENTAIRE C IL RELAIE A CHDITE C SUBROUTINE CHDITI(IPCH,IPT1,IPT2,ICPR,ISENS) IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC SMELEME SEGACT IPT1 C ON TRAVAILLE SUR LES SOUS-OBJETS ET SUR LES REFERENCES ELEMENTAIRES IF (IPT1.LISOUS(/1).NE.0) GOTO 50 CALL CHDITE(IPCH,IPT1,IPT2,ICPR,1,ISENS) IF (IPT1.LISREF(/1).EQ.0) GOTO 100 NBREF=IPT1.LISREF(/1) GO TO 60 50 NBELEM=0 NBNN=0 NBSOUS=IPT1.LISOUS(/1) NBREF=IPT1.LISREF(/1) SEGINI IPT2 DO 51 I=1,IPT1.LISOUS(/1) IPT3=IPT1.LISOUS(I) SEGACT IPT3 C ON ENLEVE LES REFERENCES CALL CHDITE(IPCH,IPT3,IPT5,ICPR,0,ISENS) SEGDES IPT3,IPT5 IPT2.LISOUS(I)=IPT5 51 CONTINUE 60 CONTINUE IF (IPT1.LISREF(/1).EQ.0) GOTO 100 C POUR LES REFERENCES ON ESSAYE D'EN PRENDRE LES REFERENCES ICI DO 61 I=1,IPT1.LISREF(/1) IPT3=IPT1.LISREF(I) SEGACT IPT3 IF (IPT3.LISOUS(/1).NE.0) GOTO 67 CALL CHDITE(IPCH,IPT3,IPT5,ICPR,1,ISENS) IF (IPT5.LISREF(/1).EQ.0) GOTO 62 DO 63 J=1,IPT3.LISREF(/1) IPT6=IPT3.LISREF(J) SEGACT IPT6 IF (IPT6.LISOUS(/1).NE.0) GOTO 64 CALL CHDITE(IPCH,IPT6,IPT8,ICPR,0,ISENS) SEGDES IPT6,IPT8 IPT5.LISREF(J)=IPT8 GOTO 63 C FAUX MAIS NE PLANTE PAS 64 IPT5.LISREF(J)=IPT6 63 CONTINUE 62 CONTINUE SEGDES IPT5 IPT2.LISREF(I)=IPT5 GOTO 68 67 CONTINUE NBREF=0 NBSOUS=IPT3.LISOUS(/1) NBNN=0 NBELEM=0 SEGINI IPT8 DO 69 I2=1,IPT3.LISOUS(/1) IPT5=IPT3.LISOUS(I2) SEGACT IPT5 CALL CHDITE(IPCH,IPT5,IPT7,ICPR,0,ISENS) IPT8.LISOUS(I2)=IPT7 SEGDES IPT5,IPT7 69 CONTINUE IPT2.LISREF(I)=IPT8 68 CONTINUE SEGDES IPT3 61 CONTINUE 100 CONTINUE SEGDES IPT1,IPT2 RETURN END