#include <plan.h>
Fonctions membres publiques | |
Plan (size_t delaiStation, size_t delaiCorrespondance, bool bOptimise=false) | |
~Plan () | |
bool | Load (const std::string &filename) |
Charge le fichier des lignes. | |
bool | SetEtapes (const etapes_t &etapes) |
Assigne les etapes. | |
void | Trajet (const std::string &from, const std::string &to) |
Calcul le trajet le plus court. | |
bool | StationExists (const std::string &station) const |
Verifie si la station existe sur le plan. | |
Fonctions membres protégées | |
void | Add (const std::string &ligne, const std::string &station) |
Ajoute une station à une ligne. | |
void | Create (graph_t &g, int &nEtape, const etapes_t &etapes) |
Crée le plan pour une étape. | |
void | CreateCorrespondance (graph_t &g, const StationData &stationData, int temps, int nEtape) |
Crée une correspondance. | |
bool | IsStationEtape (const station::Data &stationData) const |
La station est elle une etape. | |
const std::string & | GetFileStationName (const std::string &ligne, const std::string &station) const |
Recupere le nom de la station tel qu'il est dans le fichier. | |
Fonctions membres protégées statiques | |
static std::string | Clean (const std::string &station) |
Nettoie le nom de la station. | |
static std::string | FormatTemps (size_t temps) |
Format l'heure. | |
Types privés | |
typedef Graph< id_station > | graph_t |
Graph. | |
typedef graph_t::solution_t | solution_t |
Solution. | |
typedef std::list< std::string > | ligne_t |
Une ligne de métro est une liste de nom de station. | |
typedef std::map< std::string, ligne_t > | plan_t |
Liste de l'ensemble des lignes de métro. | |
typedef std::multimap < std::string, std::string > | correspondances_t |
Ensemble des correspondance. | |
typedef std::vector< std::string > | etapes_t |
Container d'étapes. | |
typedef std::map< std::pair < std::string, std::string > , std::string > | file_names_t |
Permet de retrouver le nom réel du fichier pour une station nettoyée. | |
Attributs privés | |
plan_t | m_plan |
correspondances_t | m_correspondances |
size_t | m_delaiStation |
size_t | m_delaiCorrespondance |
bool | m_bOptimise |
etapes_t | m_etapes |
std::list< int > | m_etapesFinales |
std::set< int > | m_etapesId |
file_names_t | m_fileNames |
typedef std::multimap<std::string, std::string> metro::Plan::correspondances_t [private] |
typedef std::vector<std::string> metro::Plan::etapes_t [private] |
typedef std::map<std::pair<std::string, std::string>, std::string> metro::Plan::file_names_t [private] |
typedef Graph<id_station> metro::Plan::graph_t [private] |
typedef std::list<std::string> metro::Plan::ligne_t [private] |
typedef std::map<std::string, ligne_t> metro::Plan::plan_t [private] |
typedef graph_t::solution_t metro::Plan::solution_t [private] |
Plan::Plan | ( | size_t | delaiStation, | |
size_t | delaiCorrespondance, | |||
bool | bOptimise = false | |||
) |
delaiStation | delai entre 2 stations en seconde | |
delaiCorrespondance | delai entre 2 correspondance en seconde | |
bOptimise | optimise la recherche |
metro::Plan::~Plan | ( | ) | [inline] |
void Plan::Add | ( | const std::string & | ligne, | |
const std::string & | station | |||
) | [protected] |
std::string Plan::Clean | ( | const std::string & | station | ) | [static, protected] |
Cela crée les différent arcs du graph pour les lignes de metro, et pour les correspondances
g | graph | |
nEtape | numéro d'étape | |
etapes | etapes restant à traiter |
void Plan::CreateCorrespondance | ( | graph_t & | g, | |
const StationData & | stationData, | |||
int | temps, | |||
int | nEtape | |||
) | [protected] |
std::string Plan::FormatTemps | ( | size_t | temps | ) | [static, protected] |
temps | temps en seconde |
const std::string & Plan::GetFileStationName | ( | const std::string & | ligne, | |
const std::string & | station | |||
) | const [protected] |
bool Plan::IsStationEtape | ( | const station::Data & | stationData | ) | const [protected] |
bool Plan::Load | ( | const std::string & | filename | ) |
Le fichier contient l'ensemble des stations rapportées à une ligne donnée. Ce fichier est codé en UTF-16 avec BOM
filename | nom du fichier |
bool Plan::SetEtapes | ( | const etapes_t & | etapes | ) |
Les etapes sont les stations par lesquelles le trajet doit obligatoirement passer. Si l'option 'optimise' est présente, l'ordre des étapes n'est pas forcement respecté.
etapes |
bool Plan::StationExists | ( | const std::string & | station | ) | const |
void Plan::Trajet | ( | const std::string & | sDepart, | |
const std::string & | sArrivee | |||
) |
bool metro::Plan::m_bOptimise [private] |
size_t metro::Plan::m_delaiCorrespondance [private] |
size_t metro::Plan::m_delaiStation [private] |
etapes_t metro::Plan::m_etapes [private] |
std::list<int> metro::Plan::m_etapesFinales [private] |
std::set<int> metro::Plan::m_etapesId [private] |
file_names_t metro::Plan::m_fileNames [private] |
plan_t metro::Plan::m_plan [private] |