Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
SplitNetwork.h
Aller à la documentation de ce fichier.
1
8#pragma once
9
10#include <vector>
11
14
29{
35 std::vector<CoordinateLatLon> pointsWGS84;
36
41 std::vector<CoordinateXY> pointsUTM;
42
49
51 [[nodiscard]] double lengthUTM() const
52 {
53 if (pointsUTM.size() < 2) return 0.0;
54 double len = 0.0;
55 for (size_t i = 0; i + 1 < pointsUTM.size(); ++i)
56 {
57 const double dx = pointsUTM[i + 1].x - pointsUTM[i].x;
58 const double dy = pointsUTM[i + 1].y - pointsUTM[i].y;
59 len += std::sqrt(dx * dx + dy * dy);
60 }
61 return len;
62 }
63
65 [[nodiscard]] const CoordinateXY& endpointA() const { return pointsUTM.front(); }
66
68 [[nodiscard]] const CoordinateXY& endpointB() const { return pointsUTM.back(); }
69};
70
79{
81 std::vector<AtomicSegment> segments;
82
84 void clear()
85 {
86 segments.clear();
87 segments.shrink_to_fit();
88 }
89
91 [[nodiscard]] size_t size() const { return segments.size(); }
92
94 [[nodiscard]] bool empty() const { return segments.empty(); }
95};
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 plane en mètres dans un système métrique (UTM ou similaire).
Definition CoordinateXY.h:23
Segment atomique entre deux nœuds topologiques potentiels.
Definition SplitNetwork.h:29
const CoordinateXY & endpointB() const
Definition SplitNetwork.h:68
double lengthUTM() const
Definition SplitNetwork.h:51
const CoordinateXY & endpointA() const
Definition SplitNetwork.h:65
size_t parentPolylineIndex
Definition SplitNetwork.h:48
std::vector< CoordinateXY > pointsUTM
Definition SplitNetwork.h:41
std::vector< CoordinateLatLon > pointsWGS84
Definition SplitNetwork.h:35
Résultat de Phase3_NetworkSplitter — ensemble des segments atomiques.
Definition SplitNetwork.h:79
size_t size() const
Definition SplitNetwork.h:91
std::vector< AtomicSegment > segments
Definition SplitNetwork.h:81
void clear()
Vide le réseau — libère la mémoire après Phase 4.
Definition SplitNetwork.h:84
bool empty() const
Definition SplitNetwork.h:94