60 static std::vector<std::pair<SwitchBlock*, SwitchBlock*>>
92 static std::vector<std::pair<SwitchBlock*, SwitchBlock*>>
100 const std::vector<std::pair<SwitchBlock*, SwitchBlock*>>& crossovers,
163 const std::vector<CoordinateLatLon>& pts,
180 const std::vector<CoordinateXY>& pts,
Système de journalisation à 5 niveaux de trace, un fichier par moteur.
Paramètres de configuration du pipeline GeoParser.
Conteneur central des données inter-phases du pipeline GeoParser.
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
Journaliseur associé à un moteur nommé.
Definition Logger.h:99
Definition Phase7_SwitchProcessor.h:32
static CoordinateXY interpolateTipUTM(const std::vector< CoordinateXY > &pts, const CoordinateXY &junctionUTM, double targetDist)
Interpole un point UTM sur une polyligne à targetDist mètres depuis l'extrémité la plus proche de jun...
Definition Phase7_SwitchProcessor.cpp:575
static void enforceCrossoverConsistency(BlockSet &blocks, const std::vector< std::pair< SwitchBlock *, SwitchBlock * > > &crossovers, Logger &logger)
E — Force la cohérence des crossovers (branches partagées → DEVIATION).
Definition Phase7_SwitchProcessor.cpp:307
static void validateCDC(const BlockSet &blocks, double minLength, Logger &logger)
C — Valide les longueurs de branches selon les critères CDC.
Definition Phase7_SwitchProcessor.cpp:216
static void computeTips(BlockSet &blocks, double sideSize, Logger &logger)
F — Calcule les tips CDC des 3 branches de chaque switch.
Definition Phase7_SwitchProcessor.cpp:482
Phase7_SwitchProcessor()=delete
static CoordinateLatLon interpolateTip(const std::vector< CoordinateLatLon > &pts, const CoordinateLatLon &junction, double targetDist)
Interpole un point WGS84 sur une polyligne à targetDist mètres depuis l'extrémité la plus proche de j...
Definition Phase7_SwitchProcessor.cpp:533
static std::vector< std::pair< SwitchBlock *, SwitchBlock * > > detectClusters(const BlockSet &blocks, double radius, Logger &logger)
A — Détecte les paires de switches formant un double switch.
Definition Phase7_SwitchProcessor.cpp:92
static StraightBlock * findLinkSegment(const BlockSet &blocks, const SwitchBlock *swA, const SwitchBlock *swB)
B — Trouve le StraightBlock de liaison entre deux switches.
Definition Phase7_SwitchProcessor.cpp:129
static void orientBranches(BlockSet &blocks, Logger &logger)
G — Oriente les 3 branches de chaque switch par heuristique géométrique.
Definition Phase7_SwitchProcessor.cpp:341
static std::vector< std::pair< SwitchBlock *, SwitchBlock * > > detectCrossovers(const BlockSet &blocks, Logger &logger)
D — Détecte les paires de switches en crossover.
Definition Phase7_SwitchProcessor.cpp:266
static void run(PipelineContext &ctx, const ParserConfig &config, Logger &logger)
Exécute le traitement complet des aiguillages.
Definition Phase7_SwitchProcessor.cpp:37
static CoordinateXY branchVector(const SwitchBlock &sw, const ShuntingElement *elem)
Calcule le vecteur UTM unitaire de la jonction vers une branche.
Definition Phase7_SwitchProcessor.cpp:432
static void absorbLinkSegment(BlockSet &blocks, SwitchBlock *swA, SwitchBlock *swB, Logger &logger)
B — Absorbe le segment de liaison d'un cluster.
Definition Phase7_SwitchProcessor.cpp:160
Interface abstraite pour tous les éléments de shuntage ferroviaire.
Definition ShuntingElement.h:39
Definition StraightBlock.h:24
Definition SwitchBlock.h:41
Conteneur propriétaire des StraightBlock et SwitchBlock.
Definition BlockSet.h:48
Configuration complète du pipeline GeoParser — POD sans logique.
Definition ParserConfig.h:16
Conteneur central du pipeline GeoParser.
Definition PipelineContext.h:51