|
| Roundabout (Id id) |
| Construct a new Roundabout object.
|
|
| Roundabout (Id id, std::pair< double, double > coords) |
| Construct a new Roundabout object.
|
|
| Roundabout (const NodeConcept< Id, Size > &node) |
| Construct a new Roundabout object.
|
|
void | enqueue (Id agentId) |
| Put an agent in the node.
|
|
Id | dequeue () |
| Removes the first agent from the node.
|
|
const dsm::queue< Id > & | agents () const |
| Get the node's queue.
|
|
bool | isFull () const override |
| Returns true if the node is full.
|
|
bool | isRoundabout () const noexcept override |
| Returns true if the node is a roundabout.
|
|
| NodeConcept (Id id) |
| Construct a new Node object with capacity 1.
|
|
| NodeConcept (Id id, std::pair< double, double > coords) |
| Construct a new Node object with capacity 1.
|
|
void | setId (Id id) |
| Set the node's id.
|
|
void | setCoords (std::pair< double, double > coords) |
| Set the node's coordinates.
|
|
virtual void | setCapacity (Size capacity) |
| Set the node's capacity.
|
|
Id | id () const |
| Get the node's id.
|
|
const std::optional< std::pair< double, double > > & | coords () const |
| Get the node's coordinates.
|
|
Size | capacity () const |
| Get the node's capacity.
|
|
virtual bool | isIntersection () const noexcept |
|
virtual bool | isTrafficLight () const noexcept |
|
template<typename Id, typename Size>
requires (std::unsigned_integral<Id> && std::unsigned_integral<Size>)
class dsm::Roundabout< Id, Size >
The Roundabout class represents a roundabout node in the network.
- Template Parameters
-
Id | The type of the node's id |
Size | The type of the node's capacity |