/***********************************************************************/
/***********************************************************************/
/***   STRUCTURE LISTE : il s'agit de une liste des objet contour:   ***/
/***   un contour est formé des trois paramètre : les coordonnées    ***/
/***   du point initial du cheminement, le code de le contour et     ***/
/***   le niveau de gris.                                            ***/
/***********************************************************************/
/***********************************************************************/

#ifndef LISTE_H
#define LISTE_H
#include "imgdef.h"

class EXP_CLASS Contour
{
 friend class Liste;
 private:
				 Contour( int coor_x, int coor_y,int lon_code,char* pixel, float niv,Contour *contour )
				 {
					x = coor_x;
					y = coor_y;
					lon = lon_code;

					code=pixel;
					niveau = niv;
					succ = contour=0;
				 }

				 int x,y,lon;
				 char* code;
				 float niveau;
				 Contour *succ;
};

class EXP_CLASS Liste
{
  public:
				 Liste()   { liste = 0; fin_liste = 0; }   // Constructeur
				 ~Liste()  { Elimination(); }              // Destructeur
				 void Insertion( int,int,int,char*,float );     // Insertion au sommet de la liste
				 int Dimension();
				 void El1();
				 void Elimination();
				 void Change( int,int,int,char*,float );
				 char* Lire(int*,int*,int*,float*);
				 int Lire_x(int);
				 int Lire_y(int);
				 int Lire_lon(int);
				 char* Lire_vett(int);
				 float Lire_niv(int);

  private:
				 Contour *liste;
				 Contour *fin_liste;
};
#endif

