Autopysta
Loading...
Searching...
No Matches
fixed_state_creator Class Reference

Vehicle creator that injects vehicles with a fixed state (spacing and speed). More...

#include <fixed_state_creator.h>

Inheritance diagram for fixed_state_creator:
creator

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.
 
vehiclecreate_no_leader (int lane) override
 Creates a new vehicle in a lane without a leader.
 
- Public Member Functions inherited from creator
virtual vehiclecreate (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.
 
modelModel = nullptr
 Traffic model used to determine vehicle behavior.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ fixed_state_creator() [1/2]

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.

Parameters
_modelA car-following model governing the lane's capacity.
_spacingTarget spacing between vehicles.
_initial_speedInitial speed for the created vehicles.
maxvehsMaximum number of vehicles to create.

◆ fixed_state_creator() [2/2]

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.

Parameters
_modelA car-following model governing the lane's capacity.
_spacingTarget spacing between vehicles.
_initial_speedInitial speed for the created vehicles.

Member Function Documentation

◆ create_no_leader()

vehicle * fixed_state_creator::create_no_leader ( int lane)
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.

Parameters
laneThe lane number where the vehicle is created.
Returns
A pointer to the created vehicle, or nullptr if no vehicle was created.

Implements creator.

◆ validate_creator()

void fixed_state_creator::validate_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.


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