C ECLOBJ    SOURCE    SP204843  26/02/03    21:15:12     12461          
      SUBROUTINE ECLOBJ(IPLOBJ,IRESU)
************************************************************************
*
*                             E C L O B J
*                             -----------
*
*     FONCTION: IMPRESSION D'UN OBJET "LISTOBJE"
*     ---------
*
************************************************************************

      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8(A-H,O-Z)

      PARAMETER (NMOT = 6)
      CHARACTER*24 MFORM

-INC PPARAM
-INC CCOPTIO
-INC SMLOBJE

      NMOT1 = NMOT 

      MLOBJE = IPLOBJ
      SEGACT,MLOBJE
      NBOBJ1 = LISOBJ(/1)
      NBREE1 = RLIREE(/1)
      NBELT1 = MAX(NBOBJ1,NBREE1)

      INTERR(1) = IPLOBJ
      INTERR(2) = NBELT1
      MOTERR(1:8) = TYPOBJ

C     LISTE VIDE
      IF (NBELT1.EQ.0) THEN
        CALL ERREUR(-383)
        GOTO 999 
      ENDIF

C     DEFINITION DES FORMATS SELON LE CAS
      IK = 1
      IF (TYPOBJ.EQ.'POINT   ') THEN
        CALL ERREUR(-382)
        NMOT1 = 10
        WRITE (MFORM,FMT='("(",I1,"(1x,I7))")') NMOT1
      ELSE IF (TYPOBJ.EQ.'FLOTTANT') THEN
        IK = 2
        NMOT1 = 10
        CALL ERREUR(-391)
        WRITE (MFORM,FMT='("(",I3,"(1X,1PG12.5))")') NMOT1
      ELSE
        CALL ERREUR(-381)
        WRITE (MFORM,FMT='("(",I1,"(I12))")') NMOT1
      ENDIF
C     WRITE (6,*) MFORM

C     OPTION "RESU" ?
      IF (IRESU.EQ.1) NBELT1 = MIN(NBELT1,10)

C     BOUCLE SUR LES OBJETS PAR PAQUET DE NMOT1
      I1 = 1 
      N1 = MIN(NBELT1,NMOT1)
1     CONTINUE
        IF (IK.EQ.1) WRITE(IOIMP,MFORM) (LISOBJ(IP),IP=I1,N1)
        IF (IK.EQ.2) WRITE(IOIMP,MFORM) (RLIREE(IP),IP=I1,N1)
        IF (N1.GE.NBELT1) GOTO 999
        I1 = I1 + NMOT1
        N1 = MIN(NBELT1,N1+NMOT1)
        GOTO 1

C     SORTIE
999   CONTINUE

      RETURN
      END


 
 
