Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
TopologyGraph.h
Aller à la documentation de ce fichier.
1
9#pragma once
10
11#include <vector>
12
15
29
38{
39 size_t nodeA = 0;
40 size_t nodeB = 0;
41 size_t segmentIndex = 0;
42
50 [[nodiscard]] size_t opposite(size_t fromId) const
51 {
52 if (fromId == nodeA) return nodeB;
53 if (fromId == nodeB) return nodeA;
54 return SIZE_MAX;
55 }
56};
57
70{
72 std::vector<TopoNode> nodes;
73
75 std::vector<TopoEdge> edges;
76
81 std::vector<std::vector<size_t>> adjacency;
82
90 {
91 adjacency.assign(nodes.size(), {});
92 for (size_t ei = 0; ei < edges.size(); ++ei)
93 {
94 adjacency[edges[ei].nodeA].push_back(ei);
95 adjacency[edges[ei].nodeB].push_back(ei);
96 }
97 }
98
106 [[nodiscard]] size_t degree(size_t nodeId) const
107 {
108 if (nodeId >= adjacency.size()) return 0;
109 return adjacency[nodeId].size();
110 }
111
113 void clear()
114 {
115 nodes.clear(); nodes.shrink_to_fit();
116 edges.clear(); edges.shrink_to_fit();
117 adjacency.clear(); adjacency.shrink_to_fit();
118 }
119
121 [[nodiscard]] bool empty() const { return nodes.empty(); }
122};
Représentation d'une coordonnée géographique WGS-84 (latitude, longitude).
Représentation d'une coordonnée plane en mètres (système métrique UTM).
Coordonnée géographique WGS-84 exprimée en degrés décimaux.
Definition CoordinateLatLon.h:22
Coordonnée plane en mètres dans un système métrique (UTM ou similaire).
Definition CoordinateXY.h:23
Arête du graphe planaire — connexion entre deux nœuds.
Definition TopologyGraph.h:38
size_t segmentIndex
Indice dans SplitNetwork::segments.
Definition TopologyGraph.h:41
size_t opposite(size_t fromId) const
Retourne l'ID du nœud opposé.
Definition TopologyGraph.h:50
size_t nodeB
ID du nœud B (extrémité cible).
Definition TopologyGraph.h:40
size_t nodeA
ID du nœud A (extrémité source).
Definition TopologyGraph.h:39
Nœud topologique du graphe planaire.
Definition TopologyGraph.h:24
CoordinateLatLon posWGS84
Position WGS84 (lat, lon) — pour rendu Leaflet.
Definition TopologyGraph.h:27
CoordinateXY posUTM
Position UTM (x = est, y = nord, mètres).
Definition TopologyGraph.h:26
Résultat de Phase4_TopologyBuilder — graphe planaire complet.
Definition TopologyGraph.h:70
std::vector< TopoEdge > edges
Definition TopologyGraph.h:75
void clear()
Vide le graphe — libère la mémoire après Phase 6.
Definition TopologyGraph.h:113
std::vector< std::vector< size_t > > adjacency
Definition TopologyGraph.h:81
std::vector< TopoNode > nodes
Definition TopologyGraph.h:72
void buildAdjacency()
Construit l'index d'adjacence depuis edges.
Definition TopologyGraph.h:89
size_t degree(size_t nodeId) const
Retourne le degré d'un nœud (nombre d'arêtes incidentes).
Definition TopologyGraph.h:106
bool empty() const
Definition TopologyGraph.h:121