Page d'accueil Description du projet
/******************************************
 *
 *   Cedric Pradalier   2001
 *   mail : http://cedric.pradalier.free.fr/mail.html
 *
 *****************************************/



#ifndef CORRESP_H
#define CORRESP_H


class CCorresp;

#include "objet.h"
#include "arrets.h"
#include "lignes.h"
#include "horaire.h"
#include "itineraire.h"
#include "ensemble.h"
#include "bdlignes.h"


/* une correspondance designe un arret et la ligne
   que l'on prend  a cet arret */

class CCorresp : public CObjet
{
public:
    CArrets * arret;
    CLignes * ligne;
    SensTrajet sens;
    CHoraire arrivee,depart;
    CCorresp * precedent;

    CCorresp();
    CCorresp(CArrets * a,CLignes * l,SensTrajet s);
    CCorresp(const CCorresp & C);
    virtual ~CCorresp();



// Fonction standard d'affichage
    virtual void Print();

    
    /* test d'egalite de 2 correspondance : inutilise
    * parametre CObject pour respecter la signature
    * a l'execution, on supposera que l'on compare avec
    * une autre correspondance
        */
    virtual bool IsEqual(CObjet * o);

    // Extrait l'itineraire commencant par this
    CItineraire * ExtraitItineraire(CArrets * Dest);
    // Extrait l'itineraire commencant par this sous forme de Treillis
    CObjet * CCorresp::ExtraitTreillis(CArrets* Dep,CArrets * Dest,CHoraire limite);
    // Extrait les correspondances possibles a partir de this
    // Celles ci sont inserees dans E
    void ExtraitAccessibles(CEnsemble * E,CBDLignes * pBDL);
    // Test si l'itineraire commencant en this passe par L
    int Contains(CLignes * L);

};


#endif // CORRESP_H