C MENAG1    SOURCE    OF166741  24/10/21    21:15:19     12042          

C  SUPPRIMER LES SEGMENTS INDESIRABLES

      SUBROUTINE MENAG1(ISLIS)

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

-INC CCNOYAU
-INC CCPRECO

-INC SMELEME
      SEGMENT ISLIS(NP)
      SEGMENT ISLI2(0)
      segment isli3(0)
      SEGMENT IBLIS(ISLIS(/1))

C  LISTE DES SEGMENTS
      CALL OOOLIS(ISLIS)
      SEGINI IBLIS
C  TRI
      CALL TRIENT(ISLIS(1),IBLIS(1),ISLIS(/1))
C  LISTE DES SEGMENTS INITIAUX
      ISLI2=NOYSEG
      SEGACT ISLI2

C  liste des segments du preconditionnement des MELEME
      segini isli3
      do 10 ip=1,npreco
       meleme=prenum(ip)
       if (meleme.eq.0) goto 10
       isli3(**)=meleme
       segact meleme
       do 20 is=1,lisous(/1)
         isli3(**)=lisous(is)
  20   continue
      segdes,meleme
  10  continue

C  liste des segments du preconditionnement des MLENTI dans REDUAF
      DO 30 ith1=1,NBASMA+1
        DO 40 ip=1,NTRIPL
          mlenti=PMLENT(ip,ith1)
          if (mlenti.EQ.0) GOTO 40
          isli3(**)=mlenti
  40    CONTINUE
  30  CONTINUE

C  liste des segments du preconditionnement de ACTOBJ
      DO 50 ith1=1,NBASMA+1
        iseg=PACTOB(ith1)
        if(iseg.EQ.0) GOTO 50
        isli3(**)=iseg
  50  CONTINUE
      

       if (isli3(/1).ne.0) CALL TRIENT(ISLI3(1),IBLIS(1),ISLI3(/1))
       SEGSUP IBLIS
C  OTER LA DEUXIEME LISTE A LA PREMIERE
      CALL MENAG3(ISLIS,ISLI2)
      SEGDES ISLI2
C  OTER LA TROISIEME LISTE
      CALL MENAG3(ISLIS,ISLI3)

      segsup isli3

c      return
      END

 
