|
Dynamical system model
|
Public Member Functions | |
| Station (Id id, Delay managementTime) | |
| Construct a new Station object. | |
| Station (Id id, geometry::Point point, Delay managementTime) | |
| Construct a new Station object. | |
| Station (RoadJunction const &node, Delay managementTime) | |
| Construct a new Station object. | |
| Station (Station const &other) | |
| Construct a new Station object by copying another Station object. | |
| void | enqueue (Id trainId, train_t trainType) |
| Enqueue a train in the station. | |
| Id | dequeue () |
| Dequeue a train from the station. | |
| Delay | managementTime () const |
| Get the time it takes between two train departures/arrivals. | |
| double | density () const |
| Get the train density of the station. | |
| bool | isFull () const |
| Check if the station is full. | |
| constexpr bool | isStation () const noexcept final |
| Check if the node is a station. | |
Public Member Functions inherited from dsf::mobility::RoadJunction | |
| RoadJunction (Id id) | |
| RoadJunction (Id id, geometry::Point coords) | |
| RoadJunction (RoadJunction const &other) | |
| RoadJunction & | operator= (RoadJunction const &other) |
| virtual void | setCapacity (Size capacity) |
| Set the junction's capacity. | |
| void | setTransportCapacity (double capacity) |
| Set the junction's transport capacity. | |
| Size | capacity () const |
| Get the junction's capacity. | |
| double | transportCapacity () const |
| Get the junction's transport capacity. | |
| virtual constexpr bool | isIntersection () const noexcept |
| virtual constexpr bool | isTrafficLight () const noexcept |
| virtual constexpr bool | isRoundabout () const noexcept |
Public Member Functions inherited from dsf::Node | |
| Node (Id id) | |
| Construct a new Node object with capacity 1. | |
| Node (Id id, geometry::Point point) | |
| Construct a new Node object with capacity 1. | |
| Node (Node const &other) | |
| Node & | operator= (Node const &other) |
| void | setId (Id id) noexcept |
| Set the node's id. | |
| void | setGeometry (geometry::Point point) noexcept |
| Set the node's geometry. | |
| void | setName (const std::string &name) noexcept |
| Set the node's name. | |
| void | addIngoingEdge (Id edgeId) |
| Add an ingoing edge to the node. | |
| void | addOutgoingEdge (Id edgeId) |
| Add an outgoing edge to the node. | |
| Id | id () const |
| Get the node's id. | |
| std::optional< geometry::Point > const & | geometry () const noexcept |
| Get the node's geometry. | |
| std::string const & | name () const noexcept |
| Get the node's name. | |
| std::vector< Id > const & | ingoingEdges () const noexcept |
| std::vector< Id > const & | outgoingEdges () const noexcept |
Additional Inherited Members | |
Protected Attributes inherited from dsf::Node | |
| Id | m_id |
| std::optional< geometry::Point > | m_geometry |
| std::string | m_name |
| std::vector< Id > | m_ingoingEdges |
| std::vector< Id > | m_outgoingEdges |
| dsf::mobility::Station::Station | ( | Id | id, |
| Delay | managementTime ) |
Construct a new Station object.
| id | The station's id |
| managementTime | The time it takes between two train departures/arrivals |
| dsf::mobility::Station::Station | ( | Id | id, |
| geometry::Point | point, | ||
| Delay | managementTime ) |
Construct a new Station object.
| id | The station's id |
| point | A geometry::Point containing the station's coordinates |
| managementTime | The time it takes between two train departures/arrivals |
| dsf::mobility::Station::Station | ( | RoadJunction const & | node, |
| Delay | managementTime ) |
| dsf::mobility::Station::Station | ( | Station const & | other | ) |
|
virtual |
Get the train density of the station.
Reimplemented from dsf::mobility::RoadJunction.
| Id dsf::mobility::Station::dequeue | ( | ) |
Dequeue a train from the station.
| void dsf::mobility::Station::enqueue | ( | Id | trainId, |
| train_t | trainType ) |
Enqueue a train in the station.
| trainId | The id of the train to enqueue |
| trainType | The type of the train to enqueue |
|
virtual |
Check if the station is full.
Reimplemented from dsf::mobility::RoadJunction.
|
inlineconstexprfinalvirtualnoexcept |
| Delay dsf::mobility::Station::managementTime | ( | ) | const |
Get the time it takes between two train departures/arrivals.