sesfr2
C SESFR2 SOURCE CHAT 05/01/13 03:14:23 5004 > NBCMAX,NOETRI,ITP,IAR) C ************************************************************ C OBJET : ELEMENT PREMIER SUR FRONTIERE IDE-2 C TRIANGLE PREMIER SUR SOMMET / TETRA PREMIER SUR ARETE C RECHERCHE DU TRIANGLE DE DEPART ET DE SON ARETE POUR C TOURNER AUTOUR D'UN SOMMET DANS UN SENS DONNE C EN ENTREE: C NN : LE SOMMET OU L'ARETE SUR LEQUEL ON TOURNE C ISENS : LE SENS DANS LEQUEL ON VEUT TOURNER C EN SORTIE: C ITP : LE TRIANGLE DE DEPART C IAR : INDICE DE L'ARETE DE DEPART POUR LE TRIANGLE IPT C -1 SI "NN" N'APPARTIENT PAS A L'ELEMENT C ************************************************************ IMPLICIT INTEGER(I-N) INTEGER NN(*),ISENS,IDE,ITRNOE(*),NBNMAX,ITRTRI(*) INTEGER NBCMAX,NOETRI(*),ITP,IAR C INTEGER IT,J,K,IDEBUT,IAR1,NBRN, NBNE INTEGER STRNBN EXTERNAL STRNBN C ITP = 0 IDEBUT = NOETRI(NN(1)) IT = IDEBUT C C --- ON RECHERCHE LE PREMIER NOEUD : NN --- C IAR = 0 IAR1 = 0 DO 10 J=1,NBNMAX IF(ITRNOE((IT-1)*NBNMAX+J) .EQ. NN(1))THEN IF( IDE .EQ. 2 )THEN C SENS INDIRE => ARETE ARRIVANT AU NOEUD => ARETE PREC C ---------------------------------------------------- C IAR1 = MOD(J+(NBNMAX-2),NBNMAX)+1 C REMPLACER PAR O.STAB BUG 8 : C IF( NBNMAX.EQ.3 )THEN IAR1 = MOD(J+(NBNMAX-2),NBNMAX)+1 ELSE IAR1 = MOD(J+(NBNE-2),NBNE)+1 ENDIF C IAR1 = J GO TO 20 ELSE C --- CAS 3D --- DO 3 K=1,NBNMAX IF( ITRNOE((IT-1)*NBNMAX+K).EQ.0 )GO TO 4 3 CONTINUE 4 NBRN = K DO 5 K=1,NBRN IF(ITRNOE((IT-1)*NBNMAX+K) .EQ. NN(2))THEN C --- FACE DIRECTE OU INDIRECTE INCIDENTE A L'ARETE JK GO TO 20 ENDIF 5 CONTINUE ENDIF ENDIF 10 CONTINUE C ---- ON A PAS TROUVER L'ARETE OU LA FACE --- IAR = -1 GO TO 999 C 20 ITP = IT IAR = IAR1 C IF( ISENS .EQ. 1)IAR = MOD(IAR+(NBNMAX-2),NBNMAX)+1 IF( IT .EQ. 0 )GO TO 999 C --- ON PASSE AU TRIANGLE SUIVANT,ARETE PREC --- C IAR1 = MOD(IAR1+(NBNMAX-2),NBNMAX)+1 C REMPLACER PAR O.STAB BUG 8 : C IF( NBNMAX.EQ.3 )THEN IAR1 = MOD(IAR1+(NBNMAX-2),NBNMAX)+1 ELSE IAR1 = MOD(IAR1+(NBNE-2),NBNE)+1 ENDIF IF( IT .NE. IDEBUT )GO TO 20 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales