The Agent class represents an agent in the network.
More...
#include <Agent.hpp>
|
| Agent (Time const &spawnTime, Id id, std::optional< Id > itineraryId=std::nullopt, std::optional< Id > srcNodeId=std::nullopt) |
| Construct a new Agent object.
|
|
| Agent (Time const &spawnTime, Id id, std::vector< Id > const &trip, std::optional< Id > srcNodeId=std::nullopt) |
| Construct a new Agent object.
|
|
void | setStreetId (std::optional< Id > streetId=std::nullopt) |
| Set the street occupied by the agent.
|
|
void | setNextStreetId (Id nextStreetId) |
| Set the id of the next street.
|
|
void | setSpeed (double speed) |
| Set the agent's speed.
|
|
void | setFreeTime (Time const &freeTime) |
| Set the agent's free time.
|
|
void | incrementDistance (double distance) |
| Increment the agent's distance by a given value.
|
|
void | updateItinerary () |
| Update the agent's itinerary.
|
|
void | reset (Time const &spawnTime) |
| Reset the agent.
|
|
Time const & | spawnTime () const |
| Get the agent's spawn time.
|
|
Time const & | freeTime () const |
| Get the agent's free time.
|
|
Id | id () const |
| Get the agent's id.
|
|
Id | itineraryId () const |
| Get the agent's itinerary.
|
|
std::vector< Id > const & | trip () const |
| Get the agent's trip.
|
|
std::optional< Id > | streetId () const |
| Get the id of the street currently occupied by the agent.
|
|
std::optional< Id > | srcNodeId () const |
| Get the id of the source node of the agent.
|
|
std::optional< Id > | nextStreetId () const |
| Get the id of the next street.
|
|
double | speed () const |
| Get the agent's speed.
|
|
double | distance () const |
| Get the agent's travelled distance.
|
|
bool | isRandom () const |
| Return true if the agent is a random agent.
|
|
The Agent class represents an agent in the network.
◆ Agent() [1/2]
dsm::Agent::Agent |
( |
Time const & | spawnTime, |
|
|
Id | id, |
|
|
std::optional< Id > | itineraryId = std::nullopt, |
|
|
std::optional< Id > | srcNodeId = std::nullopt ) |
Construct a new Agent object.
- Parameters
-
spawnTime | The agent's spawn time |
id | The agent's id |
itineraryId | Optional, The agent's destination node. If not provided, the agent is a random agent |
srcNodeId | Optional, The id of the source node of the agent |
◆ Agent() [2/2]
dsm::Agent::Agent |
( |
Time const & | spawnTime, |
|
|
Id | id, |
|
|
std::vector< Id > const & | trip, |
|
|
std::optional< Id > | srcNodeId = std::nullopt ) |
Construct a new Agent object.
- Parameters
-
spawnTime | The agent's spawn time |
id | The agent's id |
itineraryIds | The agent's itinerary |
srcNodeId | Optional, The id of the source node of the agent |
◆ distance()
double dsm::Agent::distance |
( |
| ) |
const |
Get the agent's travelled distance.
- Returns
- The agent's travelled distance
◆ freeTime()
Time const & dsm::Agent::freeTime |
( |
| ) |
const |
Get the agent's free time.
- Returns
- The agent's free time
◆ id()
Id dsm::Agent::id |
( |
| ) |
const |
Get the agent's id.
- Returns
- The agent's id
◆ incrementDistance()
void dsm::Agent::incrementDistance |
( |
double | distance | ) |
|
Increment the agent's distance by a given value.
- Parameters
-
distance | The value to increment the agent's distance byĆ¹ |
- Exceptions
-
std::invalid_argument,if | distance is negative |
◆ isRandom()
bool dsm::Agent::isRandom |
( |
| ) |
const |
Return true if the agent is a random agent.
- Returns
- True if the agent is a random agent, false otherwise
◆ itineraryId()
Id dsm::Agent::itineraryId |
( |
| ) |
const |
Get the agent's itinerary.
- Returns
- The agent's itinerary
◆ nextStreetId()
std::optional< Id > dsm::Agent::nextStreetId |
( |
| ) |
const |
Get the id of the next street.
- Returns
- The id of the next street
◆ reset()
void dsm::Agent::reset |
( |
Time const & | spawnTime | ) |
|
Reset the agent.
Reset the following values:
- street id = std::nullopt
- delay = 0
- speed = 0
- distance = 0
- time = 0
- itinerary index = 0
◆ setFreeTime()
void dsm::Agent::setFreeTime |
( |
Time const & | freeTime | ) |
|
Set the agent's free time.
- Parameters
-
freeTime | The agent's free time |
◆ setNextStreetId()
void dsm::Agent::setNextStreetId |
( |
Id | nextStreetId | ) |
|
Set the id of the next street.
- Parameters
-
nextStreetId | The id of the next street |
◆ setSpeed()
void dsm::Agent::setSpeed |
( |
double | speed | ) |
|
Set the agent's speed.
- Parameters
-
- Exceptions
-
std::invalid_argument,if | speed is negative |
◆ setStreetId()
void dsm::Agent::setStreetId |
( |
std::optional< Id > | streetId = std::nullopt | ) |
|
Set the street occupied by the agent.
- Parameters
-
streetId | The id of the street currently occupied by the agent |
◆ spawnTime()
Time const & dsm::Agent::spawnTime |
( |
| ) |
const |
Get the agent's spawn time.
- Returns
- The agent's spawn time
◆ speed()
double dsm::Agent::speed |
( |
| ) |
const |
Get the agent's speed.
- Returns
- The agent's speed
◆ srcNodeId()
std::optional< Id > dsm::Agent::srcNodeId |
( |
| ) |
const |
Get the id of the source node of the agent.
- Returns
- The id of the source node of the agent
◆ streetId()
std::optional< Id > dsm::Agent::streetId |
( |
| ) |
const |
Get the id of the street currently occupied by the agent.
- Returns
- The id of the street currently occupied by the agent
◆ trip()
std::vector< Id > const & dsm::Agent::trip |
( |
| ) |
const |
Get the agent's trip.
- Returns
- The agent's trip
◆ updateItinerary()
void dsm::Agent::updateItinerary |
( |
| ) |
|
Update the agent's itinerary.
If possible, the agent's itinerary is updated by removing the first element from the itinerary's vector.
The documentation for this class was generated from the following file: