rf2rar
C RF2RAR SOURCE CHAT 06/03/29 21:31:27 5360 > NOETRI,NBE,COORD, > ITVL,NTIMAX,RTVL,NTRMAX, > NBENEW,iarr) C ***************************************************************** C OBJET : IMPOSE LE RESPECTER D'UNE ARETE A UN MAILLAGE TRIANGULAIRE C C EN ENTREE: C NN() : LES INDICES DES NOEUDS DE L'ARETE C C ITRTRI,NBNMAX,ITRNOE,NBCMAX,NOETRI,NBE,COORD : LE MAILLAGE C C ITVL : TABLEAU DE TRAVAIL (ENTIERS) C NTIMAX : TAILLE DU TABLEAU ITVL C RTVL : TABLEAU DE TRAVAIL (REELS) C C NTRMAX : TAILLE DU TABLEAU RTVL C AU MINIMUM = 9 * NINTER + 10 C AU MAXIMUM = (NBR MAX D'ELEMENTS EN 1 NOEUD + 1) * C NUMERO MAXI DU NOEUD DANS ITRNOE C C EN SORTIE: LE MAILLAGE MODIFIE SI NECESSAIRE. C C NBENEW: LE NOMBRE DE TRIANGLES MODIFIES C ILS ONT LES NUMERO 1 A NBENEW C C iarr : 0 SI OK C -1 SI L'ARETE EST EXTERIEURE OU PASSE PAR UN NOEUD C -2 SI LE NOMBRE DE TRIANGLES INTERSECTES EST TROP GRAND C PEUT ETRE ITVL EST TROP PETIT C ***************************************************************** IMPLICIT INTEGER(I-N) INTEGER NN(*),ITRNOE(*),NBNMAX,ITRTRI(*),NBCMAX INTEGER NOETRI(*),NBE,ITVL(*),NTIMAX,NTRMAX REAL*8 COORD(*), RTVL(*) INTEGER NBENEW,iarr C INTEGER NINTER,ITRAV,INTER C ================================================= C --- 1. CALCUL DES TRIANGLES INTERSECTANT LE SEGMENT --- C ================================================= C ITVL = | INTER | C NINTER C iarr = 0 INTER = 1 NINTER = NTIMAX > NOETRI,NBE,COORD,ITVL(INTER),NINTER) C WRITE(6,*) 'SORTIE TRISTE ninter = ',NINTER NBENEW = NINTER IF( NINTER .EQ. 0 ) GO TO 999 C ---- BUG_14 O.STAB 28.03.97 ---- IF( NINTER .LT. 0 )THEN iarr = NINTER GO TO 999 ENDIF C ==================== C ------- 2.FORCAGE OPTIMUM ---------- C ==================== ITRAV = NINTER + INTER > ITRNOE,NBNMAX,ITRTRI,NBCMAX, > NOETRI,NBE,COORD,ITVL(ITRAV), > (NTIMAX-NINTER),RTVL,NTRMAX,iarr) C C WRITE(6,*) 'SORTIE RF2FAR iarr = ',iarr 999 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales