|
Autopysta
|
Vehicle creator that injects vehicles with a fixed state (spacing and speed). More...
#include <fixed_state_creator.h>
Public Member Functions | |
| void | validate_creator () override |
| Validates the parameters of the fixed-state vehicle creator. | |
| fixed_state_creator (model *_model, double _spacing, double _initial_speed, int maxvehs) | |
| Constructs a fixed-state vehicle creator. | |
| fixed_state_creator (model *_model, double _spacing, double _initial_speed) | |
| Constructs a fixed-state vehicle creator. | |
| vehicle * | create_no_leader (int lane) override |
| Creates a new vehicle in a lane without a leader. | |
Public Member Functions inherited from creator | |
| virtual vehicle * | create (point *leader, bool immediate_follower=false) |
| Creates a new vehicle based on the current leader's position. | |
| vector< vehicle * > | initial_state (point *leader) |
| Initializes vehicles in the first simulation timestep. | |
Additional Inherited Members | |
Protected Member Functions inherited from creator | |
Protected Attributes inherited from creator | |
| int | max_vehs = INT_MAX |
| Maximum number of vehicles that can be created. | |
| int | n_vehs = 0 |
| Counter for the number of vehicles created so far. | |
| model * | Model = nullptr |
| Traffic model used to determine vehicle behavior. | |
Vehicle creator that injects vehicles with a fixed state (spacing and speed).
The fixed_state_creator class generates vehicles based on a specified spacing and initial speed. Vehicles are placed at the start of the lane, or just behind a leader, if a leader vehicle is present. This class is typically used for scenarios where vehicles need to maintain a fixed headway and speed.
| fixed_state_creator::fixed_state_creator | ( | model * | _model, |
| double | _spacing, | ||
| double | _initial_speed, | ||
| int | maxvehs ) |
Constructs a fixed-state vehicle creator.
This constructor creates a vehicle creator with specified model, spacing, and initial speed. It also allows limiting the maximum number of vehicles to be created.
| _model | A car-following model governing the lane's capacity. |
| _spacing | Target spacing between vehicles. |
| _initial_speed | Initial speed for the created vehicles. |
| maxvehs | Maximum number of vehicles to create. |
| fixed_state_creator::fixed_state_creator | ( | model * | _model, |
| double | _spacing, | ||
| double | _initial_speed ) |
Constructs a fixed-state vehicle creator.
This constructor creates a vehicle creator with specified model, spacing, and initial speed.
| _model | A car-following model governing the lane's capacity. |
| _spacing | Target spacing between vehicles. |
| _initial_speed | Initial speed for the created vehicles. |
|
overridevirtual |
Creates a new vehicle in a lane without a leader.
This function generates a new vehicle in an empty lane if there is space, or returns nullptr if no more vehicles can be created.
| lane | The lane number where the vehicle is created. |
nullptr if no vehicle was created. Implements creator.
|
overridevirtual |
Validates the parameters of the fixed-state vehicle creator.
Ensures that the model parameters are valid and the spacing is appropriate for the simulation. If the parameters are invalid, an error will be thrown.
Reimplemented from creator.