Dynamical system model
Loading...
Searching...
No Matches
dsm::Edge Class Referenceabstract
Inheritance diagram for dsm::Edge:
dsm::Road dsm::Street dsm::SpireStreet dsm::StochasticStreet dsm::StochasticSpireStreet

Public Member Functions

 Edge (Id id, std::pair< Id, Id > nodePair, int capacity=1, int transportCapacity=1, std::vector< std::pair< double, double > > geometry={})
 Construct a new Edge object.
 
void setCapacity (int capacity)
 
void setTransportCapacity (int capacity)
 
void setGeometry (std::vector< std::pair< double, double > > geometry)
 
Id id () const
 Get the edge's id.
 
Id source () const
 Get the edge's source node id.
 
Id target () const
 Get the edge's target node id.
 
std::pair< Id, Id > const & nodePair () const
 Get the edge's node pair.
 
std::vector< std::pair< double, double > > const & geometry () const
 
int capacity () const
 Get the edge's capacity, in number of agents.
 
int transportCapacity () const
 Get the edge's transport capacity, in number of agents.
 
double angle () const
 Get the edge's angle, in radians, between the source and target nodes.
 
virtual bool isFull () const =0
 
double deltaAngle (double const previousEdgeAngle) const
 

Protected Member Functions

void m_setAngle (std::pair< double, double > srcNodeCoordinates, std::pair< double, double > dstNodeCoordinates)
 

Protected Attributes

std::vector< std::pair< double, double > > m_geometry
 
Id m_id
 
std::pair< Id, Id > m_nodePair
 
int m_capacity
 
int m_transportCapacity
 
double m_angle
 

Constructor & Destructor Documentation

◆ Edge()

dsm::Edge::Edge ( Id id,
std::pair< Id, Id > nodePair,
int capacity = 1,
int transportCapacity = 1,
std::vector< std::pair< double, double > > geometry = {} )

Construct a new Edge object.

Parameters
idThe edge's id
nodePairThe edge's node pair (u, v) with the edge u -> v
capacityThe edge's capacity, in number of agents, i.e. the maximum number of agents that can be on the edge at the same time. Default is 1.
transportCapacityThe edge's transport capacity, in number of agents, i.e. the maximum number of agents that can be emitted by the same time. Default is 1.
angleThe edge's angle, in radians, between the source and destination nodes

Member Function Documentation

◆ angle()

double dsm::Edge::angle ( ) const

Get the edge's angle, in radians, between the source and target nodes.

Returns
double The edge's angle, in radians

◆ capacity()

int dsm::Edge::capacity ( ) const

Get the edge's capacity, in number of agents.

Returns
int The edge's capacity, in number of agents

◆ id()

Id dsm::Edge::id ( ) const

Get the edge's id.

Returns
Id The edge's id

◆ isFull()

virtual bool dsm::Edge::isFull ( ) const
pure virtual

Implemented in dsm::Street.

◆ nodePair()

std::pair< Id, Id > const & dsm::Edge::nodePair ( ) const

Get the edge's node pair.

Returns
std::pair<Id, Id> The edge's node pair, where the first element is the source node id and the second element is the target node id. The pair is (u, v) with the edge u -> v.

◆ source()

Id dsm::Edge::source ( ) const

Get the edge's source node id.

Returns
Id The edge's source node id

◆ target()

Id dsm::Edge::target ( ) const

Get the edge's target node id.

Returns
Id The edge's target node id

◆ transportCapacity()

int dsm::Edge::transportCapacity ( ) const

Get the edge's transport capacity, in number of agents.

Returns
int The edge's transport capacity, in number of agents

The documentation for this class was generated from the following file: