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 SwitchBlock

#include <SwitchBlock.h>

Graphe d'héritage de SwitchBlock:
Graphe de collaboration de SwitchBlock:

Classes

struct  SwitchBranches
 Branches topologiques résolues (pointeurs non-propriétaires). Plus de détails...
 

Fonctions membres publiques

 SwitchBlock ()=default
 
 SwitchBlock (std::string switchId, CoordinateLatLon junctionWGS84, std::vector< std::string > branchIds={})
 Construit un SwitchBlock positionné à junctionWGS84.
 
std::string getId () const override
 Retourne l'identifiant unique de l'élément (ex. "sw/3", "s/12").
 
ElementType getType () const override
 Retourne le type de l'élément.
 
ShuntingState getState () const override
 Retourne l'état opérationnel courant de l'élément.
 
void setState (ShuntingState state)
 
const CoordinateLatLongetJunctionWGS84 () const
 Coordonnée WGS-84 du point de jonction physique.
 
const CoordinateXYgetJunctionUTM () const
 Coordonnée UTM du point de jonction (x = est, y = nord, mètres).
 
const std::optional< CoordinateLatLon > & getTipOnRoot () const
 
const std::optional< CoordinateLatLon > & getTipOnNormal () const
 
const std::optional< CoordinateLatLon > & getTipOnDeviation () const
 
const std::vector< CoordinateLatLon > & getAbsorbedNormalCoordinates () const
 Polyligne absorbée côté normal (double switch). Vide si non applicable.
 
const std::vector< CoordinateLatLon > & getAbsorbedDeviationCoordinates () const
 Polyligne absorbée côté deviation (double switch). Vide si non applicable.
 
const std::vector< CoordinateXY > & getAbsorbedNormalCoordsUTM () const
 UTM absorbée côté deviation (double switch). Vide si non applicable.
 
const std::vector< CoordinateXY > & getAbsorbedDeviationCoordsUTM () const
 UTM absorbée côté deviation (double switch). Vide si non applicable.
 
const std::optional< double > & getTotalLengthMeters () const
 Longueur physique de traversée en mètres. Absent si tips manquants.
 
const std::vector< std::string > & getBranchIds () const
 IDs des StraightBlocks connectés à la jonction. Peuplé lors de la construction du graphe.
 
bool isOriented () const
 True si les rôles root/normal/deviation sont assignés.
 
const std::optional< std::string > & getRootBranchId () const
 ID de la branche root. Absent si non orienté.
 
const std::optional< std::string > & getNormalBranchId () const
 ID de la branche normale. Absent si non orienté.
 
const std::optional< std::string > & getDeviationBranchId () const
 ID de la branche déviée. Absent si non orienté.
 
const std::optional< std::string > & getDoubleOnNormal () const
 ID du partenaire double switch côté normal. Absent si non applicable.
 
const std::optional< std::string > & getDoubleOnDeviation () const
 ID du partenaire double switch côté deviation. Absent si non applicable.
 
bool isDouble () const
 True si un segment de liaison a été absorbé (double aiguille).
 
const SwitchBranchesgetBranches () const
 Retourne les branches résolues. nullptr si non initialisé.
 
ShuntingElementgetRootBlock () const
 Accès direct à la branche root. nullptr si non résolue.
 
ShuntingElementgetNormalBlock () const
 Accès direct à la branche normale. nullptr si non résolue.
 
ShuntingElementgetDeviationBlock () const
 Accès direct à la branche déviée. nullptr si non résolue.
 
SwitchBlockgetPartnerOnNormal () const
 Retourne le switch partenaire côté normal, ou nullptr. Cast valide uniquement si isDouble() && getDoubleOnNormal().
 
SwitchBlockgetPartnerOnDeviation () const
 Retourne le switch partenaire côté deviation, ou nullptr.
 
ActiveBranch getActiveBranch () const
 Branche actuellement active (NORMAL par défaut).
 
bool isDeviationActive () const
 Raccourci — évite la comparaison explicite.
 
std::string activeBranchToString () const
 Convertit ActiveBranch en chaîne lisible pour les logs.
 
std::string toString () const
 Représentation textuelle pour le débogage.
 
void setId (std::string id)
 Assigne l'identifiant du bloc. Appelé par Phase6_BlockExtractor lors de la création du bloc.
 
void setRootBranchId (std::string id)
 
void setNormalBranchId (std::string id)
 
void setDeviationBranchId (std::string id)
 
const std::optional< CoordinateXY > & getTipOnRootUTM () const
 Point CDC côté root en UTM. Absent si non orienté. Miroir UTM de getTipOnRoot().
 
const std::optional< CoordinateXY > & getTipOnNormalUTM () const
 Point CDC côté normal en UTM. Absent si non orienté. Miroir UTM de getTipOnNormal().
 
const std::optional< CoordinateXY > & getTipOnDeviationUTM () const
 Point CDC côté déviation en UTM. Absent si non orienté. Miroir UTM de getTipOnDeviation().
 
void setTipsUTM (std::optional< CoordinateXY > tipRoot, std::optional< CoordinateXY > tipNormal, std::optional< CoordinateXY > tipDeviation)
 Assigne les trois tips CDC en coordonnées UTM.
 
void setJunctionWGS84 (CoordinateLatLon coord)
 Assigne la position de jonction en WGS84.
 
void setJunctionUTM (CoordinateXY coord)
 Assigne la position de jonction en UTM.
 
void setTips (std::optional< CoordinateLatLon > tipRoot, std::optional< CoordinateLatLon > tipNormal, std::optional< CoordinateLatLon > tipDeviation)
 Assigne les trois tips CDC en une seule opération.
 
void setAbsorbedCoords (const std::string &side, std::vector< CoordinateLatLon > coords)
 Stocke les coordonnées absorbées d'un double switch.
 
void addBranchId (const std::string &id)
 Ajoute un ID de branche. Pas de doublon.
 
void orient (std::string rootId, std::string normalId, std::string deviationId)
 Assigne les rôles root / normal / deviation.
 
void swapNormalDeviation ()
 Échange normal ↔ deviation (rôles + tips + polylignes absorbées + doubles).
 
void absorbLink (const std::string &linkId, const std::string &partnerId, std::vector< CoordinateLatLon > linkCoordsWGS84, std::vector< CoordinateXY > linkCoordsUTM)
 Absorbe le segment de liaison d'un double aiguille.
 
void replaceBranchPointer (ShuntingElement *oldElem, ShuntingElement *newElem)
 Remplace un pointeur de branche par un autre.
 
void computeTotalLength ()
 Calcule et mémorise la longueur totale de traversée. Formule : root_leg + max(normal_leg, deviation_leg). No-op si non orienté ou tips absents.
 
void setRootPointer (ShuntingElement *elem)
 Assigne le pointeur de la branche root.
 
void setNormalPointer (ShuntingElement *elem)
 Assigne le pointeur de la branche normale.
 
void setDeviationPointer (ShuntingElement *elem)
 Assigne le pointeur de la branche déviée.
 
void setBranchPointers (SwitchBranches branches)
 Enregistre les branches en une seule opération.
 
void setActiveBranch (ActiveBranch branch, bool propagate=true)
 Assigne la branche active.
 
ActiveBranch toggleActiveBranch (bool propagate=true)
 Alterne entre NORMAL et DEVIATION.
 
- Fonctions membres publiques hérités de ShuntingElement
 ShuntingElement ()=default
 
virtual ~ShuntingElement ()=default
 
 ShuntingElement (ShuntingElement &&)=default
 
ShuntingElementoperator= (ShuntingElement &&)=default
 
bool isFree () const
 Retourne true si l'élément est libre.
 
bool isOccupied () const
 Retourne true si l'élément est occupé.
 
bool isInactive () const
 Retourne true si l'élément est hors service.
 
- Fonctions membres publiques hérités de Element
 Element ()=default
 
virtual ~Element ()=default
 
 Element (const Element &)=delete
 Interdit la copie — risque de slicing.
 
Elementoperator= (const Element &)=delete
 
 Element (Element &&)=default
 Déplacement autorisé — requis par le pipeline de construction.
 
Elementoperator= (Element &&)=default
 

Fonctions membres privées statiques

static double haversineDistanceMeters (const CoordinateLatLon &a, const CoordinateLatLon &b)
 Calcule la distance de Haversine entre deux points WGS-84.
 

Attributs privés

CoordinateLatLon m_junctionWGS84
 
CoordinateXY m_junctionUTM
 
std::optional< CoordinateLatLonm_tipOnRoot
 
std::optional< CoordinateLatLonm_tipOnNormal
 
std::optional< CoordinateLatLonm_tipOnDeviation
 
std::optional< double > m_totalLengthMeters
 
std::vector< CoordinateLatLonm_absorbedNormalCoords
 
std::vector< CoordinateLatLonm_absorbedDeviationCoords
 
std::vector< CoordinateXYm_absorbedNormalCoordsUTM
 
std::vector< CoordinateXYm_absorbedDeviationCoordsUTM
 
std::optional< CoordinateXYm_tipOnRootUTM
 
std::optional< CoordinateXYm_tipOnNormalUTM
 
std::optional< CoordinateXYm_tipOnDeviationUTM
 
std::vector< std::string > m_branchIds
 
std::optional< std::string > m_rootBranchId
 
std::optional< std::string > m_normalBranchId
 
std::optional< std::string > m_deviationBranchId
 
std::optional< std::string > m_doubleOnNormal
 
std::optional< std::string > m_doubleOnDeviation
 
SwitchBranches m_branches
 
ActiveBranch m_activeBranch = ActiveBranch::NORMAL
 

Membres hérités additionnels

- Attributs protégés hérités de ShuntingElement
ShuntingState m_state = ShuntingState::FREE
 
- Attributs protégés hérités de Element
std::string m_id
 id de l'element
 
- Attributs protégés statiques hérités de Element
static Logger m_logger
 Logger statique partagé par TOUS les éléments interactifs.
 

Documentation des constructeurs et destructeur

◆ SwitchBlock() [1/2]

SwitchBlock::SwitchBlock ( )
default

◆ SwitchBlock() [2/2]

SwitchBlock::SwitchBlock ( std::string  switchId,
CoordinateLatLon  junctionWGS84,
std::vector< std::string >  branchIds = {} 
)

Construit un SwitchBlock positionné à junctionWGS84.

Paramètres
switchIdIdentifiant unique (ex. "sw/0").
junctionWGS84Coordonnée WGS-84 du point de jonction.
branchIdsBranches connues à la création (optionnel).

Documentation des fonctions membres

◆ absorbLink()

void SwitchBlock::absorbLink ( const std::string &  linkId,
const std::string &  partnerId,
std::vector< CoordinateLatLon linkCoordsWGS84,
std::vector< CoordinateXY linkCoordsUTM 
)

Absorbe le segment de liaison d'un double aiguille.

Remplace linkId par partnerId dans m_branchIds, met à jour la branchId correspondante et les tips CDC.

Paramètres
linkIdID du StraightBlock absorbé.
partnerIdID du SwitchBlock partenaire.
linkCoordsWGS84Polyligne du segment absorbé (orientée depuis cette jonction).
linkCoordsUTMCoordonnée XY du segment absorbé

◆ activeBranchToString()

std::string SwitchBlock::activeBranchToString ( ) const
inline

Convertit ActiveBranch en chaîne lisible pour les logs.

◆ addBranchId()

void SwitchBlock::addBranchId ( const std::string &  id)

Ajoute un ID de branche. Pas de doublon.

◆ computeTotalLength()

void SwitchBlock::computeTotalLength ( )

Calcule et mémorise la longueur totale de traversée. Formule : root_leg + max(normal_leg, deviation_leg). No-op si non orienté ou tips absents.

◆ getAbsorbedDeviationCoordinates()

const std::vector< CoordinateLatLon > & SwitchBlock::getAbsorbedDeviationCoordinates ( ) const
inline

Polyligne absorbée côté deviation (double switch). Vide si non applicable.

◆ getAbsorbedDeviationCoordsUTM()

const std::vector< CoordinateXY > & SwitchBlock::getAbsorbedDeviationCoordsUTM ( ) const
inline

UTM absorbée côté deviation (double switch). Vide si non applicable.

◆ getAbsorbedNormalCoordinates()

const std::vector< CoordinateLatLon > & SwitchBlock::getAbsorbedNormalCoordinates ( ) const
inline

Polyligne absorbée côté normal (double switch). Vide si non applicable.

◆ getAbsorbedNormalCoordsUTM()

const std::vector< CoordinateXY > & SwitchBlock::getAbsorbedNormalCoordsUTM ( ) const
inline

UTM absorbée côté deviation (double switch). Vide si non applicable.

◆ getActiveBranch()

ActiveBranch SwitchBlock::getActiveBranch ( ) const
inline

Branche actuellement active (NORMAL par défaut).

◆ getBranches()

const SwitchBranches & SwitchBlock::getBranches ( ) const
inline

Retourne les branches résolues. nullptr si non initialisé.

◆ getBranchIds()

const std::vector< std::string > & SwitchBlock::getBranchIds ( ) const
inline

IDs des StraightBlocks connectés à la jonction. Peuplé lors de la construction du graphe.

◆ getDeviationBlock()

ShuntingElement * SwitchBlock::getDeviationBlock ( ) const
inline

Accès direct à la branche déviée. nullptr si non résolue.

◆ getDeviationBranchId()

const std::optional< std::string > & SwitchBlock::getDeviationBranchId ( ) const
inline

ID de la branche déviée. Absent si non orienté.

◆ getDoubleOnDeviation()

const std::optional< std::string > & SwitchBlock::getDoubleOnDeviation ( ) const
inline

ID du partenaire double switch côté deviation. Absent si non applicable.

◆ getDoubleOnNormal()

const std::optional< std::string > & SwitchBlock::getDoubleOnNormal ( ) const
inline

ID du partenaire double switch côté normal. Absent si non applicable.

◆ getId()

std::string SwitchBlock::getId ( ) const
inlineoverridevirtual

Retourne l'identifiant unique de l'élément (ex. "sw/3", "s/12").

Implémente Element.

◆ getJunctionUTM()

const CoordinateXY & SwitchBlock::getJunctionUTM ( ) const
inline

Coordonnée UTM du point de jonction (x = est, y = nord, mètres).

◆ getJunctionWGS84()

const CoordinateLatLon & SwitchBlock::getJunctionWGS84 ( ) const
inline

Coordonnée WGS-84 du point de jonction physique.

◆ getNormalBlock()

ShuntingElement * SwitchBlock::getNormalBlock ( ) const
inline

Accès direct à la branche normale. nullptr si non résolue.

◆ getNormalBranchId()

const std::optional< std::string > & SwitchBlock::getNormalBranchId ( ) const
inline

ID de la branche normale. Absent si non orienté.

◆ getPartnerOnDeviation()

SwitchBlock * SwitchBlock::getPartnerOnDeviation ( ) const
inline

Retourne le switch partenaire côté deviation, ou nullptr.

◆ getPartnerOnNormal()

SwitchBlock * SwitchBlock::getPartnerOnNormal ( ) const
inline

Retourne le switch partenaire côté normal, ou nullptr. Cast valide uniquement si isDouble() && getDoubleOnNormal().

◆ getRootBlock()

ShuntingElement * SwitchBlock::getRootBlock ( ) const
inline

Accès direct à la branche root. nullptr si non résolue.

◆ getRootBranchId()

const std::optional< std::string > & SwitchBlock::getRootBranchId ( ) const
inline

ID de la branche root. Absent si non orienté.

◆ getState()

ShuntingState SwitchBlock::getState ( ) const
inlineoverridevirtual

Retourne l'état opérationnel courant de l'élément.

Renvoie
ShuntingState::FREE – libre, opérationnel. ShuntingState::OCCUPIED – occupé par un véhicule. ShuntingState::INACTIVE – hors service (panne / maintenance).

Implémente ShuntingElement.

◆ getTipOnDeviation()

const std::optional< CoordinateLatLon > & SwitchBlock::getTipOnDeviation ( ) const
inline

Point CDC côté deviation. Absent si non orienté.

◆ getTipOnDeviationUTM()

const std::optional< CoordinateXY > & SwitchBlock::getTipOnDeviationUTM ( ) const
inline

Point CDC côté déviation en UTM. Absent si non orienté. Miroir UTM de getTipOnDeviation().

◆ getTipOnNormal()

const std::optional< CoordinateLatLon > & SwitchBlock::getTipOnNormal ( ) const
inline

Point CDC côté normal. Absent si non orienté.

◆ getTipOnNormalUTM()

const std::optional< CoordinateXY > & SwitchBlock::getTipOnNormalUTM ( ) const
inline

Point CDC côté normal en UTM. Absent si non orienté. Miroir UTM de getTipOnNormal().

◆ getTipOnRoot()

const std::optional< CoordinateLatLon > & SwitchBlock::getTipOnRoot ( ) const
inline

Point CDC côté root. Absent si non orienté.

◆ getTipOnRootUTM()

const std::optional< CoordinateXY > & SwitchBlock::getTipOnRootUTM ( ) const
inline

Point CDC côté root en UTM. Absent si non orienté. Miroir UTM de getTipOnRoot().

◆ getTotalLengthMeters()

const std::optional< double > & SwitchBlock::getTotalLengthMeters ( ) const
inline

Longueur physique de traversée en mètres. Absent si tips manquants.

◆ getType()

ElementType SwitchBlock::getType ( ) const
inlineoverridevirtual

Retourne le type de l'élément.

Renvoie
ElementType::SWITCH ou ElementType::STRAIGHT.

Implémente Element.

◆ haversineDistanceMeters()

double SwitchBlock::haversineDistanceMeters ( const CoordinateLatLon a,
const CoordinateLatLon b 
)
staticprivate

Calcule la distance de Haversine entre deux points WGS-84.

Paramètres
aPremier point.
bSecond point.
Renvoie
Distance en mètres.

◆ isDeviationActive()

bool SwitchBlock::isDeviationActive ( ) const
inline

Raccourci — évite la comparaison explicite.

◆ isDouble()

bool SwitchBlock::isDouble ( ) const
inline

True si un segment de liaison a été absorbé (double aiguille).

◆ isOriented()

bool SwitchBlock::isOriented ( ) const
inline

True si les rôles root/normal/deviation sont assignés.

◆ orient()

void SwitchBlock::orient ( std::string  rootId,
std::string  normalId,
std::string  deviationId 
)

Assigne les rôles root / normal / deviation.

Exceptions
std::invalid_argumentSi un ID est absent de m_branchIds.

◆ replaceBranchPointer()

void SwitchBlock::replaceBranchPointer ( ShuntingElement oldElem,
ShuntingElement newElem 
)

Remplace un pointeur de branche par un autre.

Appelé par Phase7_DoubleSwitchDetector::absorbLinkSegment() après suppression du segment de liaison.

Paramètres
oldElemAncien bloc pointé (ex. le StraightBlock absorbé).
newElemNouveau bloc (ex. le SwitchBlock partenaire).

◆ setAbsorbedCoords()

void SwitchBlock::setAbsorbedCoords ( const std::string &  side,
std::vector< CoordinateLatLon coords 
)

Stocke les coordonnées absorbées d'un double switch.

Appelé par Phase7_DoubleSwitchDetector::absorbLinkSegment().

Paramètres
sideBranche absorbée ("normal" ou "deviation").
coordsPolyligne WGS84 du segment absorbé.

◆ setActiveBranch()

void SwitchBlock::setActiveBranch ( ActiveBranch  branch,
bool  propagate = true 
)

Assigne la branche active.

Paramètres
branchBranche à activer.
propagateSi true, propage aux partenaires double switch.

◆ setBranchPointers()

void SwitchBlock::setBranchPointers ( SwitchBranches  branches)

Enregistre les branches en une seule opération.

Paramètres
branchesStruct contenant les trois pointeurs résolus.

◆ setDeviationBranchId()

void SwitchBlock::setDeviationBranchId ( std::string  id)
inline

◆ setDeviationPointer()

void SwitchBlock::setDeviationPointer ( ShuntingElement elem)
inline

Assigne le pointeur de la branche déviée.

Paramètres
elemPointeur non-propriétaire. nullptr si non résolu.

◆ setId()

void SwitchBlock::setId ( std::string  id)
inline

Assigne l'identifiant du bloc. Appelé par Phase6_BlockExtractor lors de la création du bloc.

Paramètres
idIdentifiant unique (ex. "sw/0").

◆ setJunctionUTM()

void SwitchBlock::setJunctionUTM ( CoordinateXY  coord)
inline

Assigne la position de jonction en UTM.

Paramètres
coordCoordonnée UTM (x = est, y = nord, mètres).

◆ setJunctionWGS84()

void SwitchBlock::setJunctionWGS84 ( CoordinateLatLon  coord)
inline

Assigne la position de jonction en WGS84.

Paramètres
coordCoordonnée WGS-84 (latitude, longitude).

◆ setNormalBranchId()

void SwitchBlock::setNormalBranchId ( std::string  id)
inline

◆ setNormalPointer()

void SwitchBlock::setNormalPointer ( ShuntingElement elem)
inline

Assigne le pointeur de la branche normale.

Paramètres
elemPointeur non-propriétaire. nullptr si non résolu.

◆ setRootBranchId()

void SwitchBlock::setRootBranchId ( std::string  id)
inline

◆ setRootPointer()

void SwitchBlock::setRootPointer ( ShuntingElement elem)
inline

Assigne le pointeur de la branche root.

Paramètres
elemPointeur non-propriétaire. nullptr si non résolu.

◆ setState()

void SwitchBlock::setState ( ShuntingState  state)
inline

◆ setTips()

void SwitchBlock::setTips ( std::optional< CoordinateLatLon tipRoot,
std::optional< CoordinateLatLon tipNormal,
std::optional< CoordinateLatLon tipDeviation 
)

Assigne les trois tips CDC en une seule opération.

Paramètres
tipRootTip côté root.
tipNormalTip côté normal.
tipDeviationTip côté deviation.

◆ setTipsUTM()

void SwitchBlock::setTipsUTM ( std::optional< CoordinateXY tipRoot,
std::optional< CoordinateXY tipNormal,
std::optional< CoordinateXY tipDeviation 
)

Assigne les trois tips CDC en coordonnées UTM.

Appelé par Phase7_SwitchProcessor::computeTips en parallèle de setTips(). Les trois champs sont assignés en une seule opération pour garantir la cohérence (soit tous présents, soit tous absents).

Paramètres
tipRootTip côté root (CoordinateXY UTM).
tipNormalTip côté normal (CoordinateXY UTM).
tipDeviationTip côté déviation (CoordinateXY UTM).

◆ swapNormalDeviation()

void SwitchBlock::swapNormalDeviation ( )

Échange normal ↔ deviation (rôles + tips + polylignes absorbées + doubles).

◆ toggleActiveBranch()

ActiveBranch SwitchBlock::toggleActiveBranch ( bool  propagate = true)

Alterne entre NORMAL et DEVIATION.

Paramètres
propagateSi true, propage aux partenaires double switch.
Renvoie
Nouvelle valeur de m_activeBranch.

◆ toString()

std::string SwitchBlock::toString ( ) const

Représentation textuelle pour le débogage.

Documentation des données membres

◆ m_absorbedDeviationCoords

std::vector<CoordinateLatLon> SwitchBlock::m_absorbedDeviationCoords
private

Polyligne absorbée côté deviation (double switch).

◆ m_absorbedDeviationCoordsUTM

std::vector<CoordinateXY> SwitchBlock::m_absorbedDeviationCoordsUTM
private

◆ m_absorbedNormalCoords

std::vector<CoordinateLatLon> SwitchBlock::m_absorbedNormalCoords
private

Polyligne absorbée côté normal (double switch).

◆ m_absorbedNormalCoordsUTM

std::vector<CoordinateXY> SwitchBlock::m_absorbedNormalCoordsUTM
private

◆ m_activeBranch

ActiveBranch SwitchBlock::m_activeBranch = ActiveBranch::NORMAL
private

Branche actuellement active. NORMAL par défaut.

◆ m_branches

SwitchBranches SwitchBlock::m_branches
private

Branches topologiques résolues. nullptr si non initialisées.

◆ m_branchIds

std::vector<std::string> SwitchBlock::m_branchIds
private

IDs des StraightBlocks connectés.

◆ m_deviationBranchId

std::optional<std::string> SwitchBlock::m_deviationBranchId
private

ID de la branche déviée. Absent si non orienté.

◆ m_doubleOnDeviation

std::optional<std::string> SwitchBlock::m_doubleOnDeviation
private

ID du partenaire double switch côté deviation.

◆ m_doubleOnNormal

std::optional<std::string> SwitchBlock::m_doubleOnNormal
private

ID du partenaire double switch côté normal.

◆ m_junctionUTM

CoordinateXY SwitchBlock::m_junctionUTM
private

Coordonnée UTM du point de jonction (x = est, y = nord, mètres).

◆ m_junctionWGS84

CoordinateLatLon SwitchBlock::m_junctionWGS84
private

Coordonnée WGS-84 du point de jonction physique.

◆ m_normalBranchId

std::optional<std::string> SwitchBlock::m_normalBranchId
private

ID de la branche normale. Absent si non orienté.

◆ m_rootBranchId

std::optional<std::string> SwitchBlock::m_rootBranchId
private

ID de la branche root. Absent si non orienté.

◆ m_tipOnDeviation

std::optional<CoordinateLatLon> SwitchBlock::m_tipOnDeviation
private

Tip CDC côté deviation. Absent si non orienté.

◆ m_tipOnDeviationUTM

std::optional<CoordinateXY> SwitchBlock::m_tipOnDeviationUTM
private

Tip CDC côté déviation en UTM. Absent si non orienté.

◆ m_tipOnNormal

std::optional<CoordinateLatLon> SwitchBlock::m_tipOnNormal
private

Tip CDC côté normal. Absent si non orienté.

◆ m_tipOnNormalUTM

std::optional<CoordinateXY> SwitchBlock::m_tipOnNormalUTM
private

Tip CDC côté normal en UTM. Absent si non orienté.

◆ m_tipOnRoot

std::optional<CoordinateLatLon> SwitchBlock::m_tipOnRoot
private

Tip CDC côté root. Absent si non orienté.

◆ m_tipOnRootUTM

std::optional<CoordinateXY> SwitchBlock::m_tipOnRootUTM
private

Tip CDC côté root en UTM. Absent si non orienté.

◆ m_totalLengthMeters

std::optional<double> SwitchBlock::m_totalLengthMeters
private

Longueur physique de traversée (root_leg + max(normal, deviation)). Absent si tips non disponibles.


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