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

Class In charge of creating and assigning traffic light groups, controllers and components. More...

#include <TrafficLightManager.h>

+ Inheritance diagram for ATrafficLightManager:

Public Member Functions

void AdoptModelConfigurationFrom (const ATrafficLightManager &Other)
 Copy the authored model configuration (traffic light / sign / speed limit blueprints) from another manager, e.g.
 
 ATrafficLightManager ()
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
void GenerateSignalsAndTrafficLights ()
 
bool GetAdjustSignsHeightToGround () const
 
UTrafficLightController * GetController (FString ControllerId)
 
bool GetFrozen ()
 
const std::optional< carla::road::Map > & GetMap ()
 
ATrafficLightGroup * GetTrafficGroup (int JunctionId)
 
USignComponent * GetTrafficSign (FString SignId)
 
void InitializeTrafficLights ()
 
void MatchTrafficLightActorsWithOpenDriveSignals ()
 
void RegisterLightComponentFromOpenDRIVE (UTrafficLightComponent *TrafficLight)
 
void RegisterLightComponentGenerated (UTrafficLightComponent *TrafficLight)
 
void RemoveGeneratedSignalsAndTrafficLights ()
 
void SetAdjustSignsHeightToGround (bool bEnabled)
 
void SetFrozen (bool InFrozen)
 
void SnapSignsToGround ()
 
virtual void Tick (float DeltaSeconds) override
 

Private Member Functions

bool AdjustSpawnedSignsHeight ()
 
TArray< AActor * > GetSignsToIgnoreWhileTracing () const
 
void OnLevelAddedToWorld (ULevel *Level, UWorld *World)
 
void RemoveAttachedProps (TArray< AActor * > Actors) const
 
void RemoveRoadrunnerProps () const
 
void SpawnSignals ()
 
void SpawnTrafficLights ()
 
void SuppressSpawnedSignsIfLevelHasPlacedSigns (ULevel *Level)
 
void UpdateSignalGroundDormancy ()
 

Private Attributes

bool bAdjustSignsHeightToGround = false
 
bool bPendingEnvironmentObjectRefresh = false
 
bool bSpawnedSignsSuppressed = false
 
bool bTrafficLightsFrozen = false
 
int32 DormancyChecksPerTick = 150
 
int32 DormancySweepIndex = 0
 
float DormancyTraceDepth = 2000.0f
 
FDelegateHandle LevelAddedHandle
 
TObjectPtr< USceneComponent > SceneComponent
 
TMap< FString, TSubclassOf< USignComponent > > SignComponentModels
 
TSet< TWeakObjectPtr< ATrafficSignBase > > SpawnedSigns
 
TMap< FString, TSubclassOf< AActor > > SpeedLimitModels
 
TMap< FString, TSubclassOf< AActor > > SpeedLimitModels_US
 
TMap< FString, TObjectPtr< UTrafficLightController > > TrafficControllers
 
TMap< int, TObjectPtr< ATrafficLightGroup > > TrafficGroups
 
int TrafficLightComponentMissingId = -1
 
int TrafficLightControllerMissingId = -1
 
int TrafficLightGroupMissingId = -2
 
TSubclassOf< AActor > TrafficLightModel_LHT
 
TSubclassOf< AActor > TrafficLightModel_RHT
 
bool TrafficLightsGenerated = false
 
TMap< FString, TObjectPtr< USignComponent > > TrafficSignComponents
 
TArray< TObjectPtr< ATrafficSignBase > > TrafficSigns
 
TMap< FString, TSubclassOf< AActor > > TrafficSignsModels
 

Detailed Description

Class In charge of creating and assigning traffic light groups, controllers and components.

Definition at line 19 of file TrafficLightManager.h.

Constructor & Destructor Documentation

◆ ATrafficLightManager()

ATrafficLightManager::ATrafficLightManager ( )

Member Function Documentation

◆ AdjustSpawnedSignsHeight()

bool ATrafficLightManager::AdjustSpawnedSignsHeight ( )
private

◆ AdoptModelConfigurationFrom()

void ATrafficLightManager::AdoptModelConfigurationFrom ( const ATrafficLightManager &  Other)

Copy the authored model configuration (traffic light / sign / speed limit blueprints) from another manager, e.g.

a baked manager that is being replaced by a persistent-level one on World Partition maps.

Definition at line 598 of file TrafficLightManager.cpp.

References bAdjustSignsHeightToGround, Other, SignComponentModels, SpeedLimitModels, TrafficLightModel_LHT, TrafficLightModel_RHT, and TrafficSignsModels.

Referenced by ACarlaGameModeBase::GetTrafficLightManager().

◆ EndPlay()

void ATrafficLightManager::EndPlay ( const EEndPlayReason::Type  EndPlayReason)
overridevirtual

Definition at line 533 of file TrafficLightManager.cpp.

References LevelAddedHandle.

◆ GenerateSignalsAndTrafficLights()

void ATrafficLightManager::GenerateSignalsAndTrafficLights ( )

◆ GetAdjustSignsHeightToGround()

bool ATrafficLightManager::GetAdjustSignsHeightToGround ( ) const
inline

Definition at line 73 of file TrafficLightManager.h.

◆ GetController()

UTrafficLightController * ATrafficLightManager::GetController ( FString  ControllerId)

◆ GetFrozen()

bool ATrafficLightManager::GetFrozen ( )

Definition at line 1110 of file TrafficLightManager.cpp.

References bTrafficLightsFrozen.

◆ GetMap()

const std::optional< carla::road::Map > & ATrafficLightManager::GetMap ( )

◆ GetSignsToIgnoreWhileTracing()

TArray< AActor * > ATrafficLightManager::GetSignsToIgnoreWhileTracing ( ) const
private

Definition at line 323 of file TrafficLightManager.cpp.

References IsValid(), and TrafficSigns.

Referenced by AdjustSpawnedSignsHeight(), and UpdateSignalGroundDormancy().

◆ GetTrafficGroup()

ATrafficLightGroup * ATrafficLightManager::GetTrafficGroup ( int  JunctionId)

Definition at line 1115 of file TrafficLightManager.cpp.

References TrafficGroups.

◆ GetTrafficSign()

USignComponent * ATrafficLightManager::GetTrafficSign ( FString  SignId)

Definition at line 1134 of file TrafficLightManager.cpp.

References TrafficSignComponents.

◆ InitializeTrafficLights()

void ATrafficLightManager::InitializeTrafficLights ( )

◆ MatchTrafficLightActorsWithOpenDriveSignals()

void ATrafficLightManager::MatchTrafficLightActorsWithOpenDriveSignals ( )

◆ OnLevelAddedToWorld()

void ATrafficLightManager::OnLevelAddedToWorld ( ULevel *  Level,
UWorld *  World 
)
private

◆ RegisterLightComponentFromOpenDRIVE()

void ATrafficLightManager::RegisterLightComponentFromOpenDRIVE ( UTrafficLightComponent *  TrafficLight)

◆ RegisterLightComponentGenerated()

void ATrafficLightManager::RegisterLightComponentGenerated ( UTrafficLightComponent *  TrafficLight)

◆ RemoveAttachedProps()

void ATrafficLightManager::RemoveAttachedProps ( TArray< AActor * >  Actors) const
private

Definition at line 1169 of file TrafficLightManager.cpp.

References RemoveAttachedProps().

Referenced by RemoveAttachedProps(), and RemoveRoadrunnerProps().

◆ RemoveGeneratedSignalsAndTrafficLights()

void ATrafficLightManager::RemoveGeneratedSignalsAndTrafficLights ( )

◆ RemoveRoadrunnerProps()

void ATrafficLightManager::RemoveRoadrunnerProps ( ) const
private

◆ SetAdjustSignsHeightToGround()

void ATrafficLightManager::SetAdjustSignsHeightToGround ( bool  bEnabled)

Definition at line 366 of file TrafficLightManager.cpp.

References bAdjustSignsHeightToGround, and SnapSignsToGround().

◆ SetFrozen()

void ATrafficLightManager::SetFrozen ( bool  InFrozen)

Definition at line 1089 of file TrafficLightManager.cpp.

References bTrafficLightsFrozen, and TrafficGroups.

◆ SnapSignsToGround()

void ATrafficLightManager::SnapSignsToGround ( )

◆ SpawnSignals()

void ATrafficLightManager::SpawnSignals ( )
private

◆ SpawnTrafficLights()

void ATrafficLightManager::SpawnTrafficLights ( )
private

◆ SuppressSpawnedSignsIfLevelHasPlacedSigns()

void ATrafficLightManager::SuppressSpawnedSignsIfLevelHasPlacedSigns ( ULevel *  Level)
private

◆ Tick()

void ATrafficLightManager::Tick ( float  DeltaSeconds)
overridevirtual

Definition at line 608 of file TrafficLightManager.cpp.

References UpdateSignalGroundDormancy().

◆ UpdateSignalGroundDormancy()

void ATrafficLightManager::UpdateSignalGroundDormancy ( )
private

Member Data Documentation

◆ bAdjustSignsHeightToGround

bool ATrafficLightManager::bAdjustSignsHeightToGround = false
private

◆ bPendingEnvironmentObjectRefresh

bool ATrafficLightManager::bPendingEnvironmentObjectRefresh = false
private

Definition at line 193 of file TrafficLightManager.h.

Referenced by UpdateSignalGroundDormancy().

◆ bSpawnedSignsSuppressed

bool ATrafficLightManager::bSpawnedSignsSuppressed = false
private

◆ bTrafficLightsFrozen

bool ATrafficLightManager::bTrafficLightsFrozen = false
private

Definition at line 176 of file TrafficLightManager.h.

Referenced by GetFrozen(), and SetFrozen().

◆ DormancyChecksPerTick

int32 ATrafficLightManager::DormancyChecksPerTick = 150
private

Definition at line 184 of file TrafficLightManager.h.

Referenced by UpdateSignalGroundDormancy().

◆ DormancySweepIndex

int32 ATrafficLightManager::DormancySweepIndex = 0
private

Definition at line 189 of file TrafficLightManager.h.

Referenced by UpdateSignalGroundDormancy().

◆ DormancyTraceDepth

float ATrafficLightManager::DormancyTraceDepth = 2000.0f
private

Definition at line 187 of file TrafficLightManager.h.

Referenced by UpdateSignalGroundDormancy().

◆ LevelAddedHandle

FDelegateHandle ATrafficLightManager::LevelAddedHandle
private

Definition at line 207 of file TrafficLightManager.h.

Referenced by EndPlay(), and InitializeTrafficLights().

◆ SceneComponent

TObjectPtr<USceneComponent> ATrafficLightManager::SceneComponent
private

Definition at line 158 of file TrafficLightManager.h.

Referenced by ATrafficLightManager().

◆ SignComponentModels

TMap<FString, TSubclassOf<USignComponent> > ATrafficLightManager::SignComponentModels
private

◆ SpawnedSigns

TSet<TWeakObjectPtr<ATrafficSignBase> > ATrafficLightManager::SpawnedSigns
private

◆ SpeedLimitModels

TMap<FString, TSubclassOf<AActor> > ATrafficLightManager::SpeedLimitModels
private

◆ SpeedLimitModels_US

TMap<FString, TSubclassOf<AActor> > ATrafficLightManager::SpeedLimitModels_US
private

Definition at line 155 of file TrafficLightManager.h.

Referenced by ATrafficLightManager(), and SpawnSignals().

◆ TrafficControllers

TMap<FString, TObjectPtr<UTrafficLightController> > ATrafficLightManager::TrafficControllers
private

◆ TrafficGroups

TMap<int, TObjectPtr<ATrafficLightGroup> > ATrafficLightManager::TrafficGroups
private

◆ TrafficLightComponentMissingId

int ATrafficLightManager::TrafficLightComponentMissingId = -1
private

Definition at line 173 of file TrafficLightManager.h.

Referenced by RegisterLightComponentGenerated().

◆ TrafficLightControllerMissingId

int ATrafficLightManager::TrafficLightControllerMissingId = -1
private

◆ TrafficLightGroupMissingId

int ATrafficLightManager::TrafficLightGroupMissingId = -2
private

◆ TrafficLightModel_LHT

TSubclassOf<AActor> ATrafficLightManager::TrafficLightModel_LHT
private

◆ TrafficLightModel_RHT

TSubclassOf<AActor> ATrafficLightManager::TrafficLightModel_RHT
private

◆ TrafficLightsGenerated

bool ATrafficLightManager::TrafficLightsGenerated = false
private

◆ TrafficSignComponents

TMap<FString, TObjectPtr<USignComponent> > ATrafficLightManager::TrafficSignComponents
private

◆ TrafficSigns

TArray<TObjectPtr<ATrafficSignBase> > ATrafficLightManager::TrafficSigns
private

◆ TrafficSignsModels

TMap<FString, TSubclassOf<AActor> > ATrafficLightManager::TrafficSignsModels
private

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