1      PROGRAM TRANSLATION
2      include 'com_avoir.f'
3      CHARACTER*128 FICH1,FICH2
4      CHARACTER*8   EXT
5C
6 1    CALL LIFICH('Prefix of the initial mesh ?',0,FICH1,LONG1)
7      CALL LIFICH('Prefix of the translated mesh ?',0,FICH2,LONG2)
8      CALL LIENTIER('2d or 3d ? (2/3)',0,IDIM)
9      IF (IDIM.EQ.2) THEN
10        EXT = '.avoir2D'
11        CALL LI2REEL1('Translation vector (x,y) ?',0,X,Y)
12      ELSE
13        EXT = '.avoir3D'
14        CALL LI3REEL1('Translation vector (x,y,z) ?',0,X,Y,Z)
15      ENDIF
16      FICH = FICH1(1:LONG1)//EXT
17      LONG = LONG1+8
18      CALL LITAVOIR(FICH,LONG,HED,NUMNP,NELTOT,NGMAX,NMAX,NDSMAX,XYZ,IBC
19     &             ,NODE,NPR,NFPR,PR,NGROUP,NTYP,NEL,NDS,NUMSD,2,IENDIAN
20     &             ,IERR,0)
21      IF (IERR.NE.0) GOTO 1
22C
23      DO I=1,NUMNP
24        XYZ(1,I) = XYZ(1,I)+X
25        XYZ(2,I) = XYZ(2,I)+Y
26        IF (IDIM.NE.2) XYZ(3,I) = XYZ(3,I)+Z
27      ENDDO
28C
29      FICH = FICH2(1:LONG2)//EXT
30      LONG = LONG2+8
31      CALL ECRITAVOIR(FICH,LONG,HED,NUMNP,NDSMAX,XYZ,IBC,NODE,NPR,NFPR
32     &               ,PR,NGROUP,NTYP,NEL,NDS,NUMSD,2,ITRAD,IERR)
33C
34      END
35