Dynamical system model
Loading...
Searching...
No Matches
dsf::mobility::RoadJunction Class Reference
Inheritance diagram for dsf::mobility::RoadJunction:
dsf::Node dsf::mobility::Intersection dsf::mobility::Roundabout dsf::mobility::Station dsf::mobility::TrafficLight

Public Member Functions

 RoadJunction (Id id)
 RoadJunction (Id id, geometry::Point coords)
 RoadJunction (RoadJunction const &other)
RoadJunction & operator= (RoadJunction const &other)
virtual void setCapacity (std::size_t const capacity)
 Set the junction's capacity.
void setTransportCapacity (double capacity)
 Set the junction's transport capacity.
std::size_t capacity () const
 Get the junction's capacity.
double transportCapacity () const
 Get the junction's transport capacity.
virtual double density () const
virtual bool isFull () const
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)
Nodeoperator= (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.
void setBetweennessCentrality (double const betweennessCentrality) noexcept
 Set the node's betweenness centrality.
auto id () const
 Get the node's id.
auto const & geometry () const noexcept
 Get the node's geometry.
auto const & name () const noexcept
 Get the node's name.
auto const & ingoingEdges () const noexcept
 Get the node's ingoing edges.
auto const & outgoingEdges () const noexcept
 Get the node's outgoing edges.
auto const & betweennessCentrality () const noexcept
 Get the node's betweenness centrality.

Additional Inherited Members

Protected Attributes inherited from dsf::Node
Id m_id
std::optional< geometry::Pointm_geometry
std::string m_name
std::vector< Id > m_ingoingEdges
std::vector< Id > m_outgoingEdges
std::optional< double > m_betweennessCentrality {std::nullopt}

Member Function Documentation

◆ capacity()

std::size_t dsf::mobility::RoadJunction::capacity ( ) const
inline

Get the junction's capacity.

Returns
std::size_t The junction's capacity

◆ density()

virtual double dsf::mobility::RoadJunction::density ( ) const
inlinevirtual

◆ isFull()

virtual bool dsf::mobility::RoadJunction::isFull ( ) const
inlinevirtual

◆ isRoundabout()

virtual constexpr bool dsf::mobility::RoadJunction::isRoundabout ( ) const
inlineconstexprvirtualnoexcept

Reimplemented in dsf::mobility::Roundabout.

◆ setCapacity()

void dsf::mobility::RoadJunction::setCapacity ( std::size_t const capacity)
virtual

Set the junction's capacity.

Parameters
capacityThe junction's capacity

Reimplemented in dsf::mobility::Intersection.

◆ setTransportCapacity()

void dsf::mobility::RoadJunction::setTransportCapacity ( double capacity)

Set the junction's transport capacity.

Parameters
capacityThe junction's transport capacity

◆ transportCapacity()

double dsf::mobility::RoadJunction::transportCapacity ( ) const
inline

Get the junction's transport capacity.

Returns
double The junction's transport capacity

The documentation for this class was generated from the following files:
  • src/dsf/mobility/RoadJunction.hpp
  • src/dsf/mobility/RoadJunction.cpp