CARLA
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
UTrafficLightController Class Reference

Maps a controller from OpenDrive. More...

#include <TrafficLightController.h>

+ Inheritance diagram for UTrafficLightController:

Public Member Functions

void AddCarlaActorTrafficLight (FCarlaActor *CarlaActor)
 
void AddTrafficLight (UTrafficLightComponent *TrafficLight)
 
bool AdvanceTimeAndCycleFinished (float DeltaTime)
 
void EmptyTrafficLights ()
 
const FString & GetControllerId () const
 
ETrafficLightState GetCurrentLightState () const
 
const FTrafficLightStage & GetCurrentState () const
 
float GetElapsedTime () const
 
float GetGreenTime () const
 
ATrafficLightGroup * GetGroup ()
 
const ATrafficLightGroup * GetGroup () const
 
float GetRedTime () const
 
int GetSequence () const
 
const TArray< UTrafficLightComponent * > & GetTrafficLights ()
 
float GetYellowTime () const
 
bool IsCycleFinished () const
 
float NextState ()
 
void RemoveCarlaActorTrafficLight (FCarlaActor *CarlaActor)
 
void RemoveTrafficLight (UTrafficLightComponent *TrafficLight)
 
void ResetState ()
 
void SetControllerId (const FString &Id)
 
void SetCurrentLightState (ETrafficLightState NewState)
 
void SetElapsedTime (float InElapsedTime)
 
void SetGreenTime (float NewTime)
 
void SetGroup (ATrafficLightGroup *Group)
 
void SetRedTime (float NewTime)
 
void SetSequence (int InSequence)
 
void SetStates (TArray< FTrafficLightStage > States)
 
void SetTrafficLightsState (ETrafficLightState NewState)
 
void SetYellowTime (float NewTime)
 
void StartCycle ()
 
 UTrafficLightController ()
 

Private Member Functions

float GetStateTime (const ETrafficLightState State) const
 
void SetStateTime (const ETrafficLightState State, float NewTime)
 

Private Attributes

FString ControllerId = ""
 
ETrafficLightState CurrentLightState = ETrafficLightState::Green
 
int CurrentState = 0
 
float ElapsedTime = 0
 
TArray< FTrafficLightStage > LightStates
 
int Sequence = 0
 
TArray< FCarlaActor * > TrafficLightCarlaActors
 
ATrafficLightGroup * TrafficLightGroup
 
TArray< UTrafficLightComponent * > TrafficLights
 

Detailed Description

Maps a controller from OpenDrive.

Controls the asociated traffic lights and contains its cycles

Definition at line 36 of file TrafficLightController.h.

Constructor & Destructor Documentation

◆ UTrafficLightController()

UTrafficLightController::UTrafficLightController ( )

Definition at line 9 of file TrafficLightController.cpp.

Member Function Documentation

◆ AddCarlaActorTrafficLight()

void UTrafficLightController::AddCarlaActorTrafficLight ( FCarlaActor *  CarlaActor)

Definition at line 77 of file TrafficLightController.cpp.

References TrafficLightCarlaActors.

Referenced by FTrafficLightData::RecordActorData().

◆ AddTrafficLight()

void UTrafficLightController::AddTrafficLight ( UTrafficLightComponent *  TrafficLight)

◆ AdvanceTimeAndCycleFinished()

bool UTrafficLightController::AdvanceTimeAndCycleFinished ( float  DeltaTime)

◆ EmptyTrafficLights()

void UTrafficLightController::EmptyTrafficLights ( )

Definition at line 60 of file TrafficLightController.cpp.

References TrafficLightCarlaActors, and TrafficLights.

◆ GetControllerId()

const FString & UTrafficLightController::GetControllerId ( ) const

Definition at line 87 of file TrafficLightController.cpp.

References ControllerId.

◆ GetCurrentLightState()

ETrafficLightState UTrafficLightController::GetCurrentLightState ( ) const
inline

Definition at line 128 of file TrafficLightController.h.

◆ GetCurrentState()

const FTrafficLightStage & UTrafficLightController::GetCurrentState ( ) const

◆ GetElapsedTime()

float UTrafficLightController::GetElapsedTime ( ) const

◆ GetGreenTime()

float UTrafficLightController::GetGreenTime ( ) const

Definition at line 152 of file TrafficLightController.cpp.

References GetStateTime().

Referenced by FWorldObserver_GetActorState().

◆ GetGroup() [1/2]

ATrafficLightGroup * UTrafficLightController::GetGroup ( )

◆ GetGroup() [2/2]

const ATrafficLightGroup * UTrafficLightController::GetGroup ( ) const

Definition at line 210 of file TrafficLightController.cpp.

References TrafficLightGroup.

◆ GetRedTime()

float UTrafficLightController::GetRedTime ( ) const

Definition at line 162 of file TrafficLightController.cpp.

References GetStateTime().

Referenced by FWorldObserver_GetActorState().

◆ GetSequence()

int UTrafficLightController::GetSequence ( ) const

Definition at line 120 of file TrafficLightController.cpp.

References Sequence.

◆ GetStateTime()

float UTrafficLightController::GetStateTime ( const ETrafficLightState  State) const
private

Definition at line 178 of file TrafficLightController.cpp.

References LightStates, and State.

Referenced by GetGreenTime(), GetRedTime(), and GetYellowTime().

◆ GetTrafficLights()

const TArray< UTrafficLightComponent * > & UTrafficLightController::GetTrafficLights ( )

Definition at line 55 of file TrafficLightController.cpp.

References TrafficLights.

◆ GetYellowTime()

float UTrafficLightController::GetYellowTime ( ) const

Definition at line 157 of file TrafficLightController.cpp.

References GetStateTime().

Referenced by FWorldObserver_GetActorState().

◆ IsCycleFinished()

bool UTrafficLightController::IsCycleFinished ( ) const

Definition at line 97 of file TrafficLightController.cpp.

References CurrentState, and LightStates.

Referenced by AdvanceTimeAndCycleFinished().

◆ NextState()

float UTrafficLightController::NextState ( )

◆ RemoveCarlaActorTrafficLight()

void UTrafficLightController::RemoveCarlaActorTrafficLight ( FCarlaActor *  CarlaActor)

Definition at line 82 of file TrafficLightController.cpp.

References TrafficLightCarlaActors.

Referenced by FTrafficLightData::RestoreActorData().

◆ RemoveTrafficLight()

void UTrafficLightController::RemoveTrafficLight ( UTrafficLightComponent *  TrafficLight)

Definition at line 72 of file TrafficLightController.cpp.

References TrafficLight, and TrafficLights.

Referenced by FTrafficLightData::RecordActorData().

◆ ResetState()

void UTrafficLightController::ResetState ( )

◆ SetControllerId()

void UTrafficLightController::SetControllerId ( const FString &  Id)

Definition at line 92 of file TrafficLightController.cpp.

References ControllerId.

◆ SetCurrentLightState()

void UTrafficLightController::SetCurrentLightState ( ETrafficLightState  NewState)
inline

Definition at line 132 of file TrafficLightController.h.

Referenced by SetTrafficLightsState().

◆ SetElapsedTime()

void UTrafficLightController::SetElapsedTime ( float  InElapsedTime)

◆ SetGreenTime()

void UTrafficLightController::SetGreenTime ( float  NewTime)

◆ SetGroup()

void UTrafficLightController::SetGroup ( ATrafficLightGroup *  Group)

Definition at line 200 of file TrafficLightController.cpp.

References TrafficLightGroup.

Referenced by ATrafficLightGroup::AddController().

◆ SetRedTime()

void UTrafficLightController::SetRedTime ( float  NewTime)

◆ SetSequence()

void UTrafficLightController::SetSequence ( int  InSequence)

Definition at line 125 of file TrafficLightController.cpp.

References Sequence.

◆ SetStates()

void UTrafficLightController::SetStates ( TArray< FTrafficLightStage >  States)

Definition at line 14 of file TrafficLightController.cpp.

References LightStates, and ResetState().

Referenced by UMapLogicParser::ApplyLaneIdsFromMapLogic().

◆ SetStateTime()

void UTrafficLightController::SetStateTime ( const ETrafficLightState  State,
float  NewTime 
)
private

Definition at line 167 of file TrafficLightController.cpp.

References LightStates, and State.

Referenced by SetGreenTime(), SetRedTime(), and SetYellowTime().

◆ SetTrafficLightsState()

void UTrafficLightController::SetTrafficLightsState ( ETrafficLightState  NewState)

◆ SetYellowTime()

void UTrafficLightController::SetYellowTime ( float  NewTime)

◆ StartCycle()

void UTrafficLightController::StartCycle ( )

Member Data Documentation

◆ ControllerId

FString UTrafficLightController::ControllerId = ""
private

Definition at line 144 of file TrafficLightController.h.

Referenced by GetControllerId(), and SetControllerId().

◆ CurrentLightState

ETrafficLightState UTrafficLightController::CurrentLightState = ETrafficLightState::Green
private

Definition at line 172 of file TrafficLightController.h.

◆ CurrentState

int UTrafficLightController::CurrentState = 0
private

◆ ElapsedTime

float UTrafficLightController::ElapsedTime = 0
private

◆ LightStates

TArray<FTrafficLightStage> UTrafficLightController::LightStates
private
Initial value:
= {
{10, ETrafficLightState::Green},
{ 3, ETrafficLightState::Yellow},
{ 2, ETrafficLightState::Red}
}

Definition at line 151 of file TrafficLightController.h.

Referenced by GetCurrentState(), GetStateTime(), IsCycleFinished(), NextState(), ResetState(), SetStates(), and SetStateTime().

◆ Sequence

int UTrafficLightController::Sequence = 0
private

Definition at line 167 of file TrafficLightController.h.

Referenced by GetSequence(), and SetSequence().

◆ TrafficLightCarlaActors

TArray<FCarlaActor *> UTrafficLightController::TrafficLightCarlaActors
private

◆ TrafficLightGroup

ATrafficLightGroup* UTrafficLightController::TrafficLightGroup
private

Definition at line 163 of file TrafficLightController.h.

Referenced by GetGroup(), GetGroup(), and SetGroup().

◆ TrafficLights

TArray<UTrafficLightComponent *> UTrafficLightController::TrafficLights
private

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