C TRCUR SOURCE BP208322 12/08/02 21:15:43 7468 SUBROUTINE TRCUR(IPO1,IPO2) *============================================================= * * ECRIT SUR LE DESSIN UNE SERIE DE NOMS DE NOEUDS * *============================================================= * Modifications : * * 95/02/07 Loca * passer les legendes x et y de 12 à 20 caractères: * SEGMENT AXE disparait et est appelé en include: -INC TMAXE. * * 05 sept. 2007 Maugis * Maintien du segment AXE actif en modification * *============================================================= * * Entrée : * * IPO1 : POINTEUR SUR UN AXE (ACTIF) * IPO2 : POINTEUR SUR UNE EVOL * *============================================================= IMPLICIT LOGICAL (Z) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-S,U-Y) -INC SMEVOLL -INC SMLREEL -INC SMLMOTS -INC TMAXE REAL TXX,TYY,HMIN,X,Y CHARACTER*30 BUFFER DIMENSION TX(2),TY(2) * AXE = IPO1 *PM SEGACT AXE HMIN = .2 KEVOLL= IPO2 SEGACT KEVOLL IF (TYPX(1:8).EQ.'LISTMOTS') THEN * Le long de l'axe gauche des ordonnées * La première liste contient les noms, la 2e les ordonnées TDELTA=ABS(XSUP-XINF)/40 MLREEL=IPROGY SEGACT MLREEL MLMOTS=IPROGX SEGACT MLMOTS DO 1 I=1,PROG(/1) YY=PROG(I) IF (ZLOGY) YY=LOG10(PROG(I)) IF ((YY.LT.YINF).OR.(YY.GT.YSUP)) GOTO 1 * TRACE MARQUEUR (TRIL) X=XINF+TDELTA Y=YY IPTR=AXE *PM SEGDES AXE c CALL DMARQ (IPTR,X,Y,7,1,1D0,.FALSE.,0) CALL DMARQ (IPTR,X,Y,7,1D0,.FALSE.,0) * CALL CHCOUL(Nlocab) *PM SEGACT AXE * AFFICHE NOM DU NOEUD BUFFER(1:30)=MOTS(I) TXX=XINF+TDELTA*2 TYY=YY CALL TRLABL(TXX,TYY,0.,BUFFER(1:30),30,HMIN) 1 CONTINUE ELSE * Le long de l'axe bas des abscisses * La première liste contient les abscisses, la 2e les noms TDELTA=ABS(YSUP-YINF)/45 MLREEL=IPROGX SEGACT MLREEL MLMOTS=IPROGY SEGACT MLMOTS DO 2 I=1,PROG(/1) XX=PROG(I) IF (ZLOGX) XX=LOG10(PROG(I)) IF ((XX.LT.XINF).OR.(XX.GT.XSUP)) GOTO 2 * TRACE MARQUEUR (TRID) X=XX Y=YINF+TDELTA IPTR=AXE *PM SEGDES AXE c CALL DMARQ (IPTR,X,Y,7,1,1D0,.FALSE.,0) CALL DMARQ (IPTR,X,Y,7,1D0,.FALSE.,0) * CALL CHCOUL(Nlocab) *PM SEGACT AXE * AFFICHE NOM DU NOEUD BUFFER(1:30)=MOTS(I) TXX=XX TYY=YINF+TDELTA*2 CALL TRLABL(TXX,TYY,0.,BUFFER(1:30),30,HMIN) 2 CONTINUE ENDIF RETURN END