C MODP SOURCE PV 05/09/22 21:20:54 5181 C DEPLACEMENT INTERACTIF D'UN NOEUD C SUBROUTINE MODP(XPROJ,IVU,KON1,ICPR,IDCP,IBOUJ) IMPLICIT INTEGER(I-N) COMMON /CMODI/LIGMAX,XPREC,YPREC DIMENSION XTR(2),YTR(2),ZTR(2) SEGMENT /KON1/(KON(NBCON,NMAX)),KON2.KON1 SEGMENT XPROJ(3,ITE) SEGMENT IVU(0) SEGMENT ICPR(0) SEGMENT IDCP(0) SEGMENT IBOUJ(0) ztr(1)=0 ztr(2)=0 NBCON=KON(/1) NBCONR=NBCON-1 CALL TRMESS('POINTEZ LE POINT A DEPLACER') 30 CONTINUE CALL MOPF3 CALL TRDIG(X,Y,INCLE) IF (INCLE.EQ.3) RETURN * CHERCHER LE POINT DU MAILLAGE NBP=XPROJ(/2) CRIT=XPREC**2 DO 10 IP=1,NBP IF (IVU(IP).NE.1) GOTO 10 DIST=(XPROJ(1,IP)-X)**2+(XPROJ(2,IP)-Y)**2 IF (DIST.LT.CRIT) GOTO 20 10 CONTINUE GOTO 30 20 CONTINUE CALL TRMESS('POINTEZ LA NOUVELLE POSITION DU POINT') CALL TRDIG(X,Y,INCLE) CALL TRMESS(' ') IF (INCLE.EQ.3) RETURN XPROJ(1,IP)=X XPROJ(2,IP)=Y IOEE=IDCP(IP) CALL PROMOD(ICPR,XPROJ,IOEE,4,IBOUJ) * REAFFICHER LES LIGNES MODIFIES call insegt(3,iresu) CALL CHCOUL(4) ICHAIN=IP 70 CONTINUE DO 50 ICON=1,NBCONR IP=KON(ICON,ICHAIN) IF (IP.EQ.0) GOTO 60 XTR(1)=X YTR(1)=Y XTR(2)=XPROJ(1,IP) YTR(2)=XPROJ(2,IP) CALL POLRL(2,XTR,YTR,ZTR) 50 CONTINUE ICHAIN=KON(NBCON,ICHAIN) IF (ICHAIN.NE.0) GOTO 70 60 CONTINUE END