C ECNUAG SOURCE CB215821 15/05/04 21:15:03 8516 SUBROUTINE ECNUAG(INUA) C---------------------------------------------------------------------- C IMPRESSION D'UN OBJET DE TYPE NUAGE C---------------------------------------------------------------------- IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMNUAGE -INC CCNOYAU CHARACTER*(8) ITYPE,INOM,IWR(5) CHARACTER*4 FAUX,VRAI CHARACTER*8 IWRI REAL*8 XRR(5) INTEGER INRE(5) LOGICAL BRET MNUAGE=INUA SEGACT MNUAGE NVAR=NUAPOI(/1) IF (NVAR .EQ. 0) THEN NBCOUP = 0 ELSE ITYPE=NUATYP(1) IF( ITYPE.EQ.'FLOTTANT') THEN NUAVFL=NUAPOI(1) SEGACT NUAVFL NBCOUP=NUAFLO(/1) ELSEIF(ITYPE.EQ.'LOGIQUE ') THEN NUAVLO=NUAPOI(1) SEGACT NUAVLO NBCOUP=NUALOG(/1) ELSEIF(ITYPE.EQ.'MOT ') THEN NUAVMO=NUAPOI(1) SEGACT NUAVMO NBCOUP=NUAMOT(/2) ELSE NUAVIN=NUAPOI(1) SEGACT NUAVIN NBCOUP=NUAINT(/1) ENDIF ENDIF INTERR(1) = MNUAGE INTERR(2) = NVAR INTERR(3)=NBCOUP CALL ERREUR(-287) IF (NVAR .EQ. 0) THEN SEGDES MNUAGE RETURN ENDIF 513 FORMAT(5(2X,I8)) 514 FORMAT(5(1X,1PE9.2)) 515 FORMAT(5(2X,A8)) DO 1 IV = 1,NVAR MOTERR(1:8) = NUANOM(IV) MOTERR(9:16)= NUATYP(IV) INTERR(1) = IV CALL ERREUR(-288) ITYPE=NUATYP(IV) IF( ITYPE.EQ.'FLOTTANT') THEN NUAVFL=NUAPOI(IV) SEGACT NUAVFL NBCOUP=NUAFLO(/1) NN = 0 DO 12 K = 1,NBCOUP,5 NI = MIN ( 5 , NBCOUP - NN) DO 13 NW = 1, NI XRR(NW)=NUAFLO(K-1+NW) 13 CONTINUE WRITE(IOIMP,514) (XRR(IK),IK=1,NI) NN = NN + 5 12 CONTINUE SEGDES NUAVFL ELSEIF(ITYPE.EQ.'LOGIQUE ') THEN NUAVLO=NUAPOI(IV) SEGACT NUAVLO NBCOUP=NUALOG(/1) NN = 0 DO 121 K = 1,NBCOUP,5 NI = MIN ( 5 , NBCOUP - NN) DO 131 NW = 1, NI IWR(NW) = 'FAUX' IF( NUALOG(K-1+NW)) IWR(NW) ='VRAI' 131 CONTINUE WRITE(IOIMP,515) (IWR(IK),IK=1,NI) NN = NN + 5 121 CONTINUE SEGDES NUAVLO ELSEIF(ITYPE.EQ.'MOT ') THEN NUAVMO=NUAPOI(IV) SEGACT NUAVMO NBCOUP=NUAMOT(/2) NN = 0 DO 122 K = 1,NBCOUP,5 NI = MIN ( 5 , NBCOUP - NN) DO 132 NW = 1, NI IWR(NW) = NUAMOT(K-1+NW) 132 CONTINUE WRITE(IOIMP,515) (IWR(IK),IK=1,NI) NN = NN + 5 122 CONTINUE SEGDES NUAVMO ELSE NUAVIN=NUAPOI(IV) SEGACT NUAVIN NBCOUP=NUAINT(/1) NN = 0 DO 123 K = 1,NBCOUP,5 NI = MIN ( 5 , NBCOUP - NN) DO 133 NW = 1, NI INRE(NW) = NUAINT(K-1+NW) 133 CONTINUE WRITE(IOIMP,513) (INRE(IK),IK=1,NI) NN = NN + 5 123 CONTINUE SEGDES NUAVIN ENDIF 1 CONTINUE SEGDES MNUAGE RETURN END