|
CARLA
|
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 () |
Class In charge of creating and assigning traffic light groups, controllers and components.
Definition at line 19 of file TrafficLightManager.h.
| ATrafficLightManager::ATrafficLightManager | ( | ) |
Definition at line 42 of file TrafficLightManager.cpp.
References SceneComponent, SignComponentModels, SpeedLimitModels, SpeedLimitModels_US, carla::road::SignalType::StopSign(), TrafficLightGroupMissingId, TrafficLightModel_LHT, TrafficLightModel_RHT, TrafficSignsModels, and carla::road::SignalType::YieldSign().
|
private |
Definition at line 337 of file TrafficLightManager.cpp.
References TrafficSignHeightUtils::AdjustSignToGround(), GetSignsToIgnoreWhileTracing(), IsValid(), and TrafficSigns.
Referenced by GenerateSignalsAndTrafficLights(), and SnapSignsToGround().
| 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().
|
overridevirtual |
Definition at line 533 of file TrafficLightManager.cpp.
References LevelAddedHandle.
| void ATrafficLightManager::GenerateSignalsAndTrafficLights | ( | ) |
Definition at line 298 of file TrafficLightManager.cpp.
References AdjustSpawnedSignsHeight(), bAdjustSignsHeightToGround, RemoveRoadrunnerProps(), SpawnSignals(), SpawnTrafficLights(), TrafficLightModel_LHT, TrafficLightModel_RHT, and TrafficLightsGenerated.
Referenced by InitializeTrafficLights().
|
inline |
Definition at line 73 of file TrafficLightManager.h.
| UTrafficLightController * ATrafficLightManager::GetController | ( | FString | ControllerId | ) |
Definition at line 1125 of file TrafficLightManager.cpp.
References TrafficControllers.
Referenced by UMapLogicParser::ApplyLaneIdsFromMapLogic(), and UMapLogicParser::ApplyTrafficLightLogic().
| bool ATrafficLightManager::GetFrozen | ( | ) |
Definition at line 1110 of file TrafficLightManager.cpp.
References bTrafficLightsFrozen.
| const std::optional< carla::road::Map > & ATrafficLightManager::GetMap | ( | ) |
Definition at line 293 of file TrafficLightManager.cpp.
References UCarlaStatics::GetGameMode(), and ACarlaGameModeBase::GetMap().
Referenced by UMapLogicParser::ApplyLaneIdsFromMapLogic(), InitializeTrafficLights(), RegisterLightComponentFromOpenDRIVE(), SpawnSignals(), and SpawnTrafficLights().
|
private |
Definition at line 323 of file TrafficLightManager.cpp.
References IsValid(), and TrafficSigns.
Referenced by AdjustSpawnedSignsHeight(), and UpdateSignalGroundDormancy().
| ATrafficLightGroup * ATrafficLightManager::GetTrafficGroup | ( | int | JunctionId | ) |
Definition at line 1115 of file TrafficLightManager.cpp.
References TrafficGroups.
| USignComponent * ATrafficLightManager::GetTrafficSign | ( | FString | SignId | ) |
Definition at line 1134 of file TrafficLightManager.cpp.
References TrafficSignComponents.
| void ATrafficLightManager::InitializeTrafficLights | ( | ) |
Definition at line 478 of file TrafficLightManager.cpp.
References UMapLogicParser::ApplyLaneIdsFromMapLogic(), UOpenDrive::FindPathToXODRFile(), GenerateSignalsAndTrafficLights(), GetMap(), LevelAddedHandle, carla::log_warning(), OnLevelAddedToWorld(), RemoveRoadrunnerProps(), SpawnSignals(), SuppressSpawnedSignsIfLevelHasPlacedSigns(), and TrafficLightsGenerated.
| void ATrafficLightManager::MatchTrafficLightActorsWithOpenDriveSignals | ( | ) |
Definition at line 410 of file TrafficLightManager.cpp.
References ATrafficLightBase::GetTrafficLightComponent(), UOpenDrive::GetXODR(), carla::opendrive::OpenDriveParser::Load(), carla::log_warning(), and TrafficLight.
|
private |
Definition at line 540 of file TrafficLightManager.cpp.
References SuppressSpawnedSignsIfLevelHasPlacedSigns().
Referenced by InitializeTrafficLights().
| void ATrafficLightManager::RegisterLightComponentFromOpenDRIVE | ( | UTrafficLightComponent * | TrafficLight | ) |
Definition at line 176 of file TrafficLightManager.cpp.
References ATrafficLightGroup::AddController(), UTrafficLightController::AddTrafficLight(), UCarlaStatics::GetGameMode(), GetMap(), ACarlaGameModeBase::GetULevelFromName(), ATrafficLightGroup::JunctionId, ATrafficLightGroup::ResetGroup(), UTrafficLightController::ResetState(), TrafficControllers, TrafficGroups, TrafficLightControllerMissingId, TrafficLightGroupMissingId, and TrafficSignComponents.
Referenced by UMapLogicParser::ApplyLaneIdsFromMapLogic(), and SpawnTrafficLights().
| void ATrafficLightManager::RegisterLightComponentGenerated | ( | UTrafficLightComponent * | TrafficLight | ) |
Definition at line 254 of file TrafficLightManager.cpp.
References TrafficControllers, TrafficGroups, TrafficLight, TrafficLightComponentMissingId, TrafficLightControllerMissingId, TrafficLightGroupMissingId, and TrafficSignComponents.
|
private |
Definition at line 1169 of file TrafficLightManager.cpp.
References RemoveAttachedProps().
Referenced by RemoveAttachedProps(), and RemoveRoadrunnerProps().
| void ATrafficLightManager::RemoveGeneratedSignalsAndTrafficLights | ( | ) |
Definition at line 389 of file TrafficLightManager.cpp.
References bSpawnedSignsSuppressed, SpawnedSigns, TrafficControllers, TrafficGroups, TrafficLightsGenerated, and TrafficSigns.
|
private |
Definition at line 1143 of file TrafficLightManager.cpp.
References RemoveAttachedProps().
Referenced by GenerateSignalsAndTrafficLights(), and InitializeTrafficLights().
| void ATrafficLightManager::SetAdjustSignsHeightToGround | ( | bool | bEnabled | ) |
Definition at line 366 of file TrafficLightManager.cpp.
References bAdjustSignsHeightToGround, and SnapSignsToGround().
| void ATrafficLightManager::SetFrozen | ( | bool | InFrozen | ) |
Definition at line 1089 of file TrafficLightManager.cpp.
References bTrafficLightsFrozen, and TrafficGroups.
| void ATrafficLightManager::SnapSignsToGround | ( | ) |
Definition at line 375 of file TrafficLightManager.cpp.
References AdjustSpawnedSignsHeight(), bAdjustSignsHeightToGround, UCarlaStatics::GetGameMode(), and TrafficLightsGenerated.
Referenced by SetAdjustSignsHeightToGround().
|
private |
Definition at line 891 of file TrafficLightManager.cpp.
References ATrafficSignBase::bGeneratedFromOpenDRIVE, GetClosestTrafficSignActor(), UCarlaStatics::GetGameMode(), GetMap(), ACarlaGameModeBase::GetULevelFromName(), carla::log_warning(), carla::road::SignalType::MaximumSpeed(), SignComponentModels, SpawnedSigns, SpeedLimitModels, SpeedLimitModels_US, TrafficSignComponents, TrafficSigns, and TrafficSignsModels.
Referenced by GenerateSignalsAndTrafficLights(), and InitializeTrafficLights().
|
private |
Definition at line 757 of file TrafficLightManager.cpp.
References ATrafficSignBase::bGeneratedFromOpenDRIVE, UCarlaStatics::GetGameMode(), GetMap(), ACarlaGameModeBase::GetULevelFromName(), carla::road::SignalType::IsTrafficLight(), carla::log_warning(), RegisterLightComponentFromOpenDRIVE(), TrafficLight, TrafficLightModel_LHT, TrafficLightModel_RHT, and TrafficSigns.
Referenced by GenerateSignalsAndTrafficLights().
|
private |
Definition at line 548 of file TrafficLightManager.cpp.
References bSpawnedSignsSuppressed, CVarCarlaHideSpawnedSignsWhenPlaced(), IsValid(), and SpawnedSigns.
Referenced by InitializeTrafficLights(), and OnLevelAddedToWorld().
|
overridevirtual |
Definition at line 608 of file TrafficLightManager.cpp.
References UpdateSignalGroundDormancy().
|
private |
Definition at line 614 of file TrafficLightManager.cpp.
References TrafficSignHeightUtils::AdjustSignToGround(), bAdjustSignsHeightToGround, bPendingEnvironmentObjectRefresh, bSpawnedSignsSuppressed, DormancyChecksPerTick, DormancySweepIndex, DormancyTraceDepth, UCarlaStatics::GetGameMode(), GetSignsToIgnoreWhileTracing(), IsValid(), SpawnedSigns, and TrafficSigns.
Referenced by Tick().
|
private |
Definition at line 132 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), GenerateSignalsAndTrafficLights(), SetAdjustSignsHeightToGround(), SnapSignsToGround(), and UpdateSignalGroundDormancy().
|
private |
Definition at line 193 of file TrafficLightManager.h.
Referenced by UpdateSignalGroundDormancy().
|
private |
Definition at line 205 of file TrafficLightManager.h.
Referenced by RemoveGeneratedSignalsAndTrafficLights(), SuppressSpawnedSignsIfLevelHasPlacedSigns(), and UpdateSignalGroundDormancy().
|
private |
Definition at line 176 of file TrafficLightManager.h.
Referenced by GetFrozen(), and SetFrozen().
|
private |
Definition at line 184 of file TrafficLightManager.h.
Referenced by UpdateSignalGroundDormancy().
|
private |
Definition at line 189 of file TrafficLightManager.h.
Referenced by UpdateSignalGroundDormancy().
|
private |
Definition at line 187 of file TrafficLightManager.h.
Referenced by UpdateSignalGroundDormancy().
|
private |
Definition at line 207 of file TrafficLightManager.h.
Referenced by EndPlay(), and InitializeTrafficLights().
|
private |
Definition at line 158 of file TrafficLightManager.h.
Referenced by ATrafficLightManager().
|
private |
Definition at line 146 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), ATrafficLightManager(), and SpawnSignals().
|
private |
Definition at line 203 of file TrafficLightManager.h.
Referenced by RemoveGeneratedSignalsAndTrafficLights(), SpawnSignals(), SuppressSpawnedSignsIfLevelHasPlacedSigns(), and UpdateSignalGroundDormancy().
|
private |
Definition at line 149 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), ATrafficLightManager(), and SpawnSignals().
|
private |
Definition at line 155 of file TrafficLightManager.h.
Referenced by ATrafficLightManager(), and SpawnSignals().
|
private |
Definition at line 119 of file TrafficLightManager.h.
Referenced by GetController(), RegisterLightComponentFromOpenDRIVE(), RegisterLightComponentGenerated(), and RemoveGeneratedSignalsAndTrafficLights().
|
private |
Definition at line 115 of file TrafficLightManager.h.
Referenced by GetTrafficGroup(), RegisterLightComponentFromOpenDRIVE(), RegisterLightComponentGenerated(), RemoveGeneratedSignalsAndTrafficLights(), and SetFrozen().
|
private |
Definition at line 173 of file TrafficLightManager.h.
Referenced by RegisterLightComponentGenerated().
|
private |
Definition at line 169 of file TrafficLightManager.h.
Referenced by RegisterLightComponentFromOpenDRIVE(), and RegisterLightComponentGenerated().
|
private |
Definition at line 165 of file TrafficLightManager.h.
Referenced by ATrafficLightManager(), RegisterLightComponentFromOpenDRIVE(), and RegisterLightComponentGenerated().
|
private |
Definition at line 138 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), ATrafficLightManager(), GenerateSignalsAndTrafficLights(), and SpawnTrafficLights().
|
private |
Definition at line 135 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), ATrafficLightManager(), GenerateSignalsAndTrafficLights(), and SpawnTrafficLights().
|
private |
Definition at line 161 of file TrafficLightManager.h.
Referenced by GenerateSignalsAndTrafficLights(), InitializeTrafficLights(), RemoveGeneratedSignalsAndTrafficLights(), and SnapSignsToGround().
|
private |
Definition at line 123 of file TrafficLightManager.h.
Referenced by GetTrafficSign(), RegisterLightComponentFromOpenDRIVE(), RegisterLightComponentGenerated(), and SpawnSignals().
|
private |
Definition at line 127 of file TrafficLightManager.h.
Referenced by AdjustSpawnedSignsHeight(), GetSignsToIgnoreWhileTracing(), RemoveGeneratedSignalsAndTrafficLights(), SpawnSignals(), SpawnTrafficLights(), and UpdateSignalGroundDormancy().
|
private |
Definition at line 143 of file TrafficLightManager.h.
Referenced by AdoptModelConfigurationFrom(), ATrafficLightManager(), and SpawnSignals().