Simulateur Ferroviaire
Reconstruction et visualisation d'un réseau ferroviaire à partir de données GeoJSON — Win32 / WebView2 / Leaflet
Chargement...
Recherche...
Aucune correspondance
ShuntingElement.h
Aller à la documentation de ce fichier.
1#pragma once
2
4
17enum class ShuntingState
18{
19 FREE,
22};
23
39{
40public:
41 // -------------------------------------------------------------------------
42 // Construction / Destruction
43 // -------------------------------------------------------------------------
44 ShuntingElement() = default;
45 virtual ~ShuntingElement() = default;
46
53
54 // -------------------------------------------------------------------------
55 // Interface virtuelle pure
56 // -------------------------------------------------------------------------
57
65 [[nodiscard]] virtual ShuntingState getState() const = 0;
66
67 // -------------------------------------------------------------------------
68 // Accesseurs de commodité (non-virtuels, basés sur getState())
69 // -------------------------------------------------------------------------
70
72 [[nodiscard]] bool isFree() const { return getState() == ShuntingState::FREE; }
73
75 [[nodiscard]] bool isOccupied() const { return getState() == ShuntingState::OCCUPIED; }
76
78 [[nodiscard]] bool isInactive() const { return getState() == ShuntingState::INACTIVE; }
79
80protected :
83private:
84 // Pas de champs supplémentaires dans l'interface abstraite — les sous-classes concrètes
85};
Classe de base abstraite pour tous les éléments interactifs ferroviaires.
ShuntingState
État opérationnel d'un élément de shuntage.
Definition ShuntingElement.h:18
Classe de base abstraite pour tous les éléments interactifs ferroviaires.
Definition Element.h:34
Interface abstraite pour tous les éléments de shuntage ferroviaire.
Definition ShuntingElement.h:39
ShuntingElement(ShuntingElement &&)=default
bool isFree() const
Retourne true si l'élément est libre.
Definition ShuntingElement.h:72
ShuntingState m_state
Definition ShuntingElement.h:82
bool isOccupied() const
Retourne true si l'élément est occupé.
Definition ShuntingElement.h:75
virtual ShuntingState getState() const =0
Retourne l'état opérationnel courant de l'élément.
virtual ~ShuntingElement()=default
bool isInactive() const
Retourne true si l'élément est hors service.
Definition ShuntingElement.h:78
ShuntingElement()=default
ShuntingElement & operator=(ShuntingElement &&)=default