Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Phase5_SwitchClassifier

#include <Phase5_SwitchClassifier.h>

Graphe de collaboration de Phase5_SwitchClassifier:

Fonctions membres publiques

 Phase5_SwitchClassifier ()=delete
 

Fonctions membres publiques statiques

static void run (PipelineContext &ctx, const ParserConfig &config, Logger &logger)
 Exécute la phase 5.
 

Fonctions membres privées statiques

static CoordinateXY outVector (const TopologyGraph &graph, size_t nodeId, size_t edgeIdx)
 Calcule le vecteur sortant depuis un nœud via une arête.
 
static double angleBetween (const CoordinateXY &u, const CoordinateXY &v)
 Calcule l'angle en degrés entre deux vecteurs UTM.
 
static NodeClass classifyDegree2 (const TopologyGraph &graph, size_t nodeId, double minSwitchAngle)
 Classifie un nœud de degré 2 — indépendant de SplitNetwork.
 
static NodeClass classifyDegree3 (const TopologyGraph &graph, size_t nodeId, double minSwitchAngle)
 Classifie un nœud de degré 3 — indépendant de SplitNetwork.
 

Documentation des constructeurs et destructeur

◆ Phase5_SwitchClassifier()

Phase5_SwitchClassifier::Phase5_SwitchClassifier ( )
delete

Documentation des fonctions membres

◆ angleBetween()

double Phase5_SwitchClassifier::angleBetween ( const CoordinateXY u,
const CoordinateXY v 
)
staticprivate

Calcule l'angle en degrés entre deux vecteurs UTM.

Paramètres
uPremier vecteur UTM.
vSecond vecteur UTM.
Renvoie
Angle en degrés ∈ [0°, 180°]. 0° si un vecteur est nul.

◆ classifyDegree2()

NodeClass Phase5_SwitchClassifier::classifyDegree2 ( const TopologyGraph graph,
size_t  nodeId,
double  minSwitchAngle 
)
staticprivate

Classifie un nœud de degré 2 — indépendant de SplitNetwork.

Paramètres
graphGraphe topologique.
nodeIdNœud à classifier.
minSwitchAngleAngle minimal de bifurcation (degrés).
Renvoie
NodeClass::STRAIGHT ou NodeClass::AMBIGUOUS.

◆ classifyDegree3()

NodeClass Phase5_SwitchClassifier::classifyDegree3 ( const TopologyGraph graph,
size_t  nodeId,
double  minSwitchAngle 
)
staticprivate

Classifie un nœud de degré 3 — indépendant de SplitNetwork.

Paramètres
graphGraphe topologique.
nodeIdNœud à classifier.
minSwitchAngleAngle minimal de bifurcation (degrés).
Renvoie
NodeClass::SWITCH ou NodeClass::AMBIGUOUS.

◆ outVector()

CoordinateXY Phase5_SwitchClassifier::outVector ( const TopologyGraph graph,
size_t  nodeId,
size_t  edgeIdx 
)
staticprivate

Calcule le vecteur sortant depuis un nœud via une arête.

Utilise la position UTM du nœud opposé — indépendant de SplitNetwork. Précision suffisante car les segments ont été découpés par maxSegmentLength.

Paramètres
graphGraphe topologique.
nodeIdNœud de départ.
edgeIdxIndice de l'arête dans graph.edges.
Renvoie
Vecteur UTM sortant. {0,0} si arête invalide.

◆ run()

void Phase5_SwitchClassifier::run ( PipelineContext ctx,
const ParserConfig config,
Logger logger 
)
static

Exécute la phase 5.

Lit ctx.topoGraph, classe chaque nœud et écrit le résultat dans ctx.classifiedNodes.

Paramètres
ctxContexte pipeline. Lit topoGraph, écrit classifiedNodes.
configConfiguration — utilise minSwitchAngle.
loggerRéférence au logger GeoParser.

La documentation de cette classe a été générée à partir des fichiers suivants :