C CREPIL    SOURCE    PV        20/03/30    21:16:59     10567          
      SUBROUTINE CREPIL (ICOLAC,NITLAC)
C=======================================================================
C      CE SOUPROGRAMME INITIALISE LES PILES ICOLAC
C
C ENTREE :
C         ICOLAC POINTEUR SUR UN SEGMENT A CREER
C         NITLAC LONGUEUR DE CE SEGMENT= NB DE PILES CREEES
C  PROGRAMME PAR FARVACQUE
C  APPELE PAR SAUV
C  APPELLE :
C=======================================================================
C  TABLEAU KCOLA :
C    1  MELEME  2 CHPOIN  3 MRIGID  4 MCHAFF  5 MCHELM  6
C    7          8 MSOLUT  9 MSTRUC 10        11 MAFFEC 12 MSOSTU
C   13  IMATRI 14 MJONCT 15 MATTAC 16 MMATRI 17 MDEFOR 18 MLREEL
C   19  MLENTI 20 MCHARG 21 MODELE 22 MEVOLL
C=======================================================================
C
      IMPLICIT INTEGER(I-N)

-INC PPARAM
-INC CCOPTIO
-INC CCASSIS
-INC CCNOYAU
-INC TMCOLAC
-INC SMCOORD
C
C=======================================================================
C  ICOLAC :  KCOLA : POINTEUR SUR LA PILE ITLACC
C            MCOLA : NOMBRE D'OBJETS INSPECTES DANS LA PILE
C            ICOLA : POINTEUR SUR ISGTR ( NOM-NOM-RANG DANS ITLACC)
C            KCOLAC: CONTIENT POUR CHAQUE PILE LE NOMBRE D'OBJETS A
C                    SORTIR
C=======================================================================
C
C
C  **** INITIALISATION DE ICOLAC
C
      segment IBIDD(NP)
      CALL OOOLIS(IBIDD)
      SEGACT IBIDD
**     write(6,*) ' taille de ibidd',ibidd(/1)
      nlisse=0
      ipgcd=ibidd(1)-1
      DO 1,I=1,IBIDD(/1)
       nlisse=max(nlisse,ibidd(I))
       if (i.gt.1) ipgcd=min(ipgcd,abs(ibidd(i)-ibidd(i-1)))
  1   CONTINUE
      SEGINI ICOLAC
*      write(6,*) 'icolac nlisse',icolac,nlisse
*      write(6,*) 'icolac pgcd  ',icolac,ipgcd
*      NLISSE = ICOLAC
      nlisse=(nlisse-1)/ipgcd
      SEGINI ILISSE
      npgcd=ipgcd
      ILISSG=ILISSE
      segact mcoord
      nlisse=nbpts
      segini ilisse
      ilissp=ilisse
      if(nbesc.ne.0) segact ipiloc
      nlisse=xiflot(/1)
      segini ilisse
      ilissf=ilisse
      DO 300 I=1,NITLAC

         SEGINI ITLACC
         KCOLA(I)=ITLACC

         KS=0
         SEGINI ISGTR
            ICOLA(I)=ISGTR

         MCOLA(I)=0
C         KCOLAC(I)=0

 300  CONTINUE
      if(nbesc.ne.0) SEGDES,IPILOC
C
*      SEGDES ICOLAC
*      SEGDES ILISSE
C
C
      RETURN
      END
 
 
