|
Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
|
Calcul des positions logiques X/Y du graphe PCC par parcours BFS. Plus de détails...
#include <unordered_set>#include <vector>#include "PCCGraph.h"#include "Engine/Core/Logger/Logger.h"Aller au code source de ce fichier.
Classes | |
| class | PCCLayout |
| Calculateur de positions logiques X/Y du PCCGraph. Plus de détails... | |
| struct | PCCLayout::BFSItem |
| Contexte BFS d'un nœud en file d'attente. Plus de détails... | |
Calcul des positions logiques X/Y du graphe PCC par parcours BFS.
Classe utilitaire statique sans état. Assigne à chaque PCCNode une PCCPosition indépendante des coordonnées GPS, utilisable directement par TCORenderer pour le dessin GDI.
| Rôle | ΔX | ΔY |
|---|---|---|
| STRAIGHT / ROOT standard | +1 | 0 (Y constant) |
| NORMAL standard | +1 | 0 (Y constant) |
| NORMAL → SwitchNode (aiguille double) | 0 | ±côté géo |
| ROOT forward + arrivée par déviation | -1 | 0 (upstream) |
| DEVIATION → nœud ordinaire | +1 | ±côté géo |
| DEVIATION → SwitchNode (aiguille double) | 0 | ±côté géo |
arrivedViaDeviation est stocké dans BFSItem et propagé à chaque nœud enqueué. Il est levé dès qu'un voisin est atteint via une arête DEVIATION. Quand un switch est dépilé avec ce flag à true, sa voie ROOT est traitée comme upstream (x-1) plutôt que downstream (x+1).