fusevo
C FUSEVO SOURCE BP208322 16/11/18 21:17:18 9177 C CE SOUS-PROGRAMME REALISE L'OPERATION " ET " SUR LES DEUX OBJETS C IPT1 ET IPT2 LE RESULTAT EST RANGE DANS IPT3 C IPT1 ET IPT2 DOIVENT ETRE DE TYPE VOLUME C PAS DE SOUS OBJETS LA IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMELEME -INC CCGEOME LOGICAL LTELQ NBREF=0 IF (IPT1.LISREF(/1).EQ.0.OR.IPT2.LISREF(/1).EQ.0) GOTO 100 IF (IPT1.LISREF(/1).EQ.1.OR.IPT2.LISREF(/1).EQ.1) NBREF=1 IF (NBREF.EQ.1) GOTO 1 C AU MOINS DEUX REFERENCES CHAQUE IPT8=IPT1.LISREF(2) IPT4=IPT2.LISREF(1) IF (IPT8.EQ.IPT4) GOTO 2 SEGACT IPT8,IPT4 IF (IPT8.LISOUS(/1).EQ.0.OR.IPT4.LISOUS(/1).NE.IPT8.LISOUS(/1)) # GOTO 1 DO 3 I=1,IPT8.LISOUS(/1) IF (IPT8.LISOUS(I).NE.IPT4.LISOUS(I)) GOTO 1 3 CONTINUE SEGDES IPT8,IPT4 2 CONTINUE C OK ON FUSIONNE NBREF=3 IF (IPT1.LISREF(/1).EQ.2.OR.IPT2.LISREF(/1).EQ.2) NBREF=2 IF (NBREF.EQ.2) GOTO 11 C A REVOIR NE MARCHE QUE SI LE POURTOUR EST FORME D'UN TYPE D'ELEMENT IPT8=IPT1.LISREF(3) SEGACT IPT8 IF (IPT1.LISREF(/1).EQ.3) GOTO 4 DO 5 I=4,IPT1.LISREF(/1) IPT4=IPT1.LISREF(I) SEGACT IPT4 IF (IPT4.NUM(/2).NE.0) GOTO 6 NBREF=2 SEGDES IPT4 GOTO 11 SEGDES IPT8,IPT4 IPT8=IPT5 5 CONTINUE 4 CONTINUE IPT6=IPT2.LISREF(3) SEGACT IPT6 IF (IPT2.LISREF(/1).EQ.3) GOTO 10 DO 9 I=4,IPT2.LISREF(/1) IPT4=IPT2.LISREF(I) SEGACT IPT4 IF (IPT4.NUM(/2).NE.0) GOTO 8 NBREF=2 SEGDES IPT4 GOTO 11 SEGDES IPT6,IPT4 IPT6=IPT5 9 CONTINUE 10 CONTINUE SEGDES IPT8,IPT6,IPT7 GOTO 11 1 CONTINUE C ON EST SENSE TOUT FUSIONNER A VOIR PLUS TARD NBREF=0 11 CONTINUE 100 CONTINUE C REFERENCES OK : IPT1.LISREF(1) IPT2.LISREF(2) IPT7 NBNN=IPT1.NUM(/1) NBSOUS=0 NBELE1=IPT1.NUM(/2) NBELE2=IPT2.NUM(/2) NBELEM=NBELE1+NBELE2 SEGINI IPT3 IPT3.ITYPEL=IPT1.ITYPEL IF (NBREF.EQ.0) GOTO 20 IPT3.LISREF(1)=IPT1.LISREF(1) IPT3.LISREF(2)=IPT2.LISREF(2) IF (NBREF.EQ.2) GOTO 20 IPT3.LISREF(3)=IPT7 SEGDES IPT7 20 CONTINUE DO 21 I=1,NBNN DO 22 J=1,NBELE1 IPT3.NUM(I,J)=IPT1.NUM(I,J) 22 CONTINUE DO 23 J=1,NBELE2 IPT3.NUM(I,J+NBELE1)=IPT2.NUM(I,J) 23 CONTINUE 21 CONTINUE DO 25 I=1,NBELE1 IPT3.ICOLOR(I)=IPT1.ICOLOR(I) 25 CONTINUE DO 27 I=1,NBELE2 IPT3.ICOLOR(I+NBELE1)=IPT2.ICOLOR(I) 27 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales