C KPROJG SOURCE CHAT 05/01/13 01:05:17 5004 SUBROUTINE KPROJG(K2,NS1,NS2,NS3,NF1,NF2,NF3,NA1,NA2,NA3 * ,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF,SPROJP,KERR) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C---------------------------------------------------------------------- C Calcul des facteurs de forme en 3D C Sp appele par KPROJF C C C---------------------------------------------------------------------- C DIMENSION U2(4) C -INC TFFOR3D SEGMENT SKSEGM INTEGER KKSEGM(2,NSEGM) ENDSEGMENT C C DESCRIPTION DES ARETES C SEGMENT SPROJP INTEGER KF(NPT),ICOO(2,NPT) REAL*8 XR(3,NPT) ENDSEGMENT SEGMENT SKCEL INTEGER KBCEL(NR,NR),IINT(2,NSTAC),IS(NSTAC),JS(NSTAC) REAL*8 RMAX ENDSEGMENT C C-------------------------------------------------------------------- NR = IR(/1) C IF(NF1.EQ.NF2) THEN IF(NF2.EQ.NF3) THEN C C 1 FACE C ------- C CALL KREM1G(K2,NF1,NF2,NF3,NA1,NA2,NA3 * ,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF) ELSE C C 2 FACES DIFFERENTES NON PARALLELES C ---------------------------------- C IF (KA(NF2).EQ.KA(NF3)) GOTO 500 CALL KREM2G(K2,NF2,NF3,NA2,NA3,NA1,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF) ENDIF ELSE IF (NF3.EQ.NF2) THEN IF (KA(NF1).EQ.KA(NF2)) GOTO 500 CALL KREM2G(K2,NF2,NF1,NA1,NA3,NA2,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF) ELSE IF (NF3.EQ.NF1) THEN IF (KA(NF1).EQ.KA(NF2)) GOTO 500 CALL KREM2G(K2,NF1,NF2,NA1,NA2,NA3,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF) ELSE C C 3 FACES DIFFERENTES NON PARALLELES C ---------------------------------- IF (KA(NF1).EQ.KA(NF2)) GOTO 600 IF (KA(NF2).EQ.KA(NF3)) GOTO 600 IF (KA(NF3).EQ.KA(NF1)) GOTO 600 CALL KREM3G(K2,NS1,NS2,NS3,NF1,NF2,NF3,NA1,NA2,NA3 * ,C,U2,SHC3D,SKCEL,SPROJA,SKBUFF,SPROJP) C ENDIF ENDIF ENDIF KERR = 0 RETURN C 500 CONTINUE KERR =2 RETURN 600 CONTINUE KERR =3 RETURN END