Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
ClassifiedNodes.h
Aller à la documentation de ce fichier.
1
7#pragma once
8
9#include <unordered_map>
10#include <cstdint>
11#include <cstddef>
12
20enum class NodeClass : uint8_t
21{
22 TERMINUS,
23 STRAIGHT,
24 SWITCH,
25 CROSSING,
26 ISOLATED,
28};
29
38{
40 std::unordered_map<size_t, NodeClass> classification;
41
43 size_t countTerminus = 0;
44 size_t countStraight = 0;
45 size_t countSwitch = 0;
46 size_t countCrossing = 0;
47 size_t countIsolated = 0;
48 size_t countAmbiguous = 0;
49
57 [[nodiscard]] NodeClass getClass(size_t nodeId) const
58 {
59 const auto it = classification.find(nodeId);
60 return (it != classification.end()) ? it->second : NodeClass::AMBIGUOUS;
61 }
62
69 void classify(size_t nodeId, NodeClass cls)
70 {
71 classification[nodeId] = cls;
72 switch (cls)
73 {
76 case NodeClass::SWITCH: ++countSwitch; break;
80 }
81 }
82
90};
NodeClass
Classification topologique d'un nœud du graphe planaire.
Definition ClassifiedNodes.h:21
@ AMBIGUOUS
Degré > 4 ou géométrie anormale — WARNING en Phase 5.
@ SWITCH
Degré 3 — aiguillage, bifurcation géométrique réelle.
@ CROSSING
Degré 4 — croisement plat, ignoré en Phase 6.
@ ISOLATED
Degré 0 — nœud sans arête (données incomplètes).
@ STRAIGHT
Degré 2, angle ≈ 180° — continuation de voie droite.
@ TERMINUS
Degré 1 — extrémité de voie, pas de suite.
Résultat de Phase5_SwitchClassifier.
Definition ClassifiedNodes.h:38
size_t countIsolated
Definition ClassifiedNodes.h:47
size_t countTerminus
Definition ClassifiedNodes.h:43
size_t countStraight
Definition ClassifiedNodes.h:44
size_t countSwitch
Definition ClassifiedNodes.h:45
std::unordered_map< size_t, NodeClass > classification
Definition ClassifiedNodes.h:40
size_t countCrossing
Definition ClassifiedNodes.h:46
void clear()
Vide la classification — libère la mémoire après Phase 6.
Definition ClassifiedNodes.h:84
NodeClass getClass(size_t nodeId) const
Retourne la classe d'un nœud.
Definition ClassifiedNodes.h:57
void classify(size_t nodeId, NodeClass cls)
Enregistre la classe d'un nœud et incrémente le compteur.
Definition ClassifiedNodes.h:69
size_t countAmbiguous
Definition ClassifiedNodes.h:48