|
Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
|
Conteneur partagé entre tous les modules métier et la couche HMI. Plus de détails...
#include <TopologyData.h>
Fonctions membres publiques | |
| void | clear () |
| Vide les listes et les index (remise à zéro entre deux parsings). | |
| void | buildIndex () |
| Construit les index id→ptr depuis les vecteurs. | |
Attributs publics | |
| std::vector< std::unique_ptr< StraightBlock > > | straights |
| std::vector< std::unique_ptr< SwitchBlock > > | switches |
| std::unordered_map< std::string, SwitchBlock * > | switchIndex |
| std::unordered_map< std::string, StraightBlock * > | straightIndex |
Conteneur partagé entre tous les modules métier et la couche HMI.
Sert de point de vérité unique pour les listes de blocs extraites du parsing GeoJSON.
Les blocs sont détenus par unique_ptr afin de :
|
inline |
Construit les index id→ptr depuis les vecteurs.
Appeler en fin de pipeline GeoParser, après transfert en unique_ptr et résolution de tous les pointeurs (partenaires, branches, voisins). Les adresses des objets doivent être stables — aucune réallocation de vecteur ne doit survenir après cet appel.
|
inline |
Vide les listes et les index (remise à zéro entre deux parsings).
| std::unordered_map<std::string, StraightBlock*> TopologyData::straightIndex |
| std::vector<std::unique_ptr<StraightBlock> > TopologyData::straights |
| std::vector<std::unique_ptr<SwitchBlock> > TopologyData::switches |
| std::unordered_map<std::string, SwitchBlock*> TopologyData::switchIndex |
Index de lookup rapide id → ptr, construit après résolution des pointeurs. Permet un accès O(1) par ID sans find_if sur les vecteurs.