Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
PCCLayout.h
Aller à la documentation de ce fichier.
1
51#pragma once
52
53#include <unordered_set>
54#include <vector>
55
56#include "PCCGraph.h"
58
64{
65public:
66
75 static void compute(PCCGraph& graph, Logger& logger);
76
78 PCCLayout() = delete;
79
80private:
81
85 struct BFSItem
86 {
88 int x;
89 int y;
91 };
92
100 static std::vector<PCCNode*> findTermini(const PCCGraph& graph, Logger& logger);
101
112 static int runBFS(PCCGraph& graph,
113 PCCNode* start,
114 std::unordered_set<PCCNode*>& visited,
115 int offsetX,
116 Logger& logger);
117
137 static void fixCollapsedBranches(PCCGraph& graph, Logger& logger);
138};
Système de journalisation à 5 niveaux de trace, un fichier par moteur.
Conteneur propriétaire du graphe PCC.
Journaliseur associé à un moteur nommé.
Definition Logger.h:99
Conteneur propriétaire du graphe PCC — nœuds, arêtes et index.
Definition PCCGraph.h:50
Calculateur de positions logiques X/Y du PCCGraph.
Definition PCCLayout.h:64
static void fixCollapsedBranches(PCCGraph &graph, Logger &logger)
Corrige les branches convergentes de longueurs inégales (post-BFS).
Definition PCCLayout.cpp:300
PCCLayout()=delete
Interdit l'instanciation — classe utilitaire statique.
static std::vector< PCCNode * > findTermini(const PCCGraph &graph, Logger &logger)
Détecte les nœuds terminus (points de départ du schéma).
Definition PCCLayout.cpp:66
static void compute(PCCGraph &graph, Logger &logger)
Calcule et assigne les positions logiques à tous les nœuds.
Definition PCCLayout.cpp:19
static int runBFS(PCCGraph &graph, PCCNode *start, std::unordered_set< PCCNode * > &visited, int offsetX, Logger &logger)
Lance un BFS linéaire depuis start et assigne les positions X/Y.
Definition PCCLayout.cpp:103
Nœud abstrait du graphe PCC.
Definition PCCNode.h:70
Contexte BFS d'un nœud en file d'attente.
Definition PCCLayout.h:86
PCCNode * node
Nœud à traiter.
Definition PCCLayout.h:87
bool arrivedViaDeviation
Vrai si atteint via une arête DEVIATION.
Definition PCCLayout.h:90
int y
Rang vertical (0 = backbone, ±n = branches).
Definition PCCLayout.h:89
int x
Profondeur BFS (position horizontale).
Definition PCCLayout.h:88