CARLA
 
载入中...
搜索中...
未找到
Public 成员函数 | Public 属性 | Protected 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
ACarlaGameModeBase类 参考

Base class for the CARLA Game Mode. 更多...

#include <CarlaGameModeBase.h>

+ 类 ACarlaGameModeBase 继承关系图:
+ ACarlaGameModeBase 的协作图:

Public 成员函数

 ACarlaGameModeBase (const FObjectInitializer &ObjectInitializer)
 
void ApplyTextureToActor (AActor *Actor, UTexture2D *Texture, const carla::rpc::MaterialParameter &TextureParam)
 
void CheckForEmptyMeshes ()
 
UTexture2D * CreateUETexture (const carla::rpc::TextureColor &Texture)
 
UTexture2D * CreateUETexture (const carla::rpc::TextureFloatColor &Texture)
 
void DebugShowSignals (bool enable)
 
void EnableEnvironmentObjects (const TSet< uint64 > &EnvObjectIds, bool Enable)
 
void EnableOverlapEvents ()
 
AActorFindActorByName (const FString &ActorName)
 
TArray< FBoundingBoxGetAllBBsOfLevel (uint8 TagQueried=0xFF) const
 
const UCarlaEpisodeGetCarlaEpisode () const
 
TArray< FEnvironmentObjectGetEnvironmentObjects (uint8 QueriedTag=0xFF) const
 
const FString GetFullMapPath () const
 
ALargeMapManagerGetLMManager () const
 
const boost::optional< carla::road::Map > & GetMap () const
 
TArray< FString > GetNamesOfAllActors ()
 
const FString GetRelativeMapPath () const
 
const TArray< FTransform > & GetSpawnPointsTransforms () const
 
ATrafficLightManagerGetTrafficLightManager ()
 
ULevel * GetULevelFromName (FString LevelName)
 
void LoadMapLayer (int32 MapLayers)
 
void OnLoadStreamLevel ()
 
void OnUnloadStreamLevel ()
 
void UnLoadMapLayer (int32 MapLayers)
 

Public 属性

float IMUISensorGravity = 9.81f
 

Protected 成员函数

void BeginPlay () override
 
void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
void InitGame (const FString &MapName, const FString &Options, FString &ErrorMessage) override
 
void RestartPlayer (AController *NewPlayer) override
 
void Tick (float DeltaSeconds) override
 

Private 成员函数

void ConvertMapLayerMaskToMapNames (int32 MapLayer, TArray< FName > &OutLevelNames)
 
void GenerateSpawnPoints ()
 
void OnEpisodeSettingsChanged (const FEpisodeSettings &Settings)
 
void ParseOpenDrive ()
 
void RegisterEnvironmentObjects ()
 
void SpawnActorFactories ()
 
void StoreSpawnPoints ()
 

Private 属性

TSet< TSubclassOf< ACarlaActorFactory > > ActorFactories
 List of actor spawners that will be used to define and spawn the actors available in game.
 
TArray< ACarlaActorFactory * > ActorFactoryInstances
 
UCarlaSettingsDelegateCarlaSettingsDelegate = nullptr
 
UCarlaEpisodeEpisode = nullptr
 
UCarlaGameInstanceGameInstance = nullptr
 
int32 LatentInfoUUID = 0
 
ALargeMapManagerLMManager = nullptr
 
boost::optional< carla::road::MapMap
 
UObjectRegisterObjectRegister = nullptr
 
FDelegateHandle OnEpisodeSettingsChangeHandle
 
int PendingLevelsToLoad = 0
 
int PendingLevelsToUnLoad = 0
 
bool ReadyToRegisterObjects = false
 
ACarlaRecorderRecorder = nullptr
 
TArray< FTransform > SpawnPointsTransforms
 
UTaggerDelegateTaggerDelegate = nullptr
 
ATrafficLightManagerTrafficLightManager = nullptr
 
TSubclassOf< AWeatherWeatherClass
 The class of Weather to spawn.
 

详细描述

Base class for the CARLA Game Mode.

在文件 CarlaGameModeBase.h35 行定义.

构造及析构函数说明

◆ ACarlaGameModeBase()

ACarlaGameModeBase::ACarlaGameModeBase ( const FObjectInitializer & ObjectInitializer)

成员函数说明

◆ ApplyTextureToActor()

void ACarlaGameModeBase::ApplyTextureToActor ( AActor * Actor,
UTexture2D * Texture,
const carla::rpc::MaterialParameter & TextureParam )

在文件 CarlaGameModeBase.cpp323 行定义.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 这是这个函数的调用关系图:

◆ BeginPlay()

void ACarlaGameModeBase::BeginPlay ( )
overrideprotected

◆ CheckForEmptyMeshes()

void ACarlaGameModeBase::CheckForEmptyMeshes ( )

在文件 CarlaGameModeBase.cpp484 行定义.

◆ ConvertMapLayerMaskToMapNames()

void ACarlaGameModeBase::ConvertMapLayerMaskToMapNames ( int32 MapLayer,
TArray< FName > & OutLevelNames )
private

在文件 CarlaGameModeBase.cpp703 行定义.

被这些函数引用 LoadMapLayer() , 以及 UnLoadMapLayer().

+ 这是这个函数的调用关系图:

◆ CreateUETexture() [1/2]

UTexture2D * ACarlaGameModeBase::CreateUETexture ( const carla::rpc::TextureColor & Texture)

在文件 CarlaGameModeBase.cpp277 行定义.

引用了 carla::rpc::Texture< T >::At(), carla::rpc::Texture< T >::GetHeight() , 以及 carla::rpc::Texture< T >::GetWidth().

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ CreateUETexture() [2/2]

UTexture2D * ACarlaGameModeBase::CreateUETexture ( const carla::rpc::TextureFloatColor & Texture)

在文件 CarlaGameModeBase.cpp300 行定义.

引用了 carla::rpc::Texture< T >::At(), carla::rpc::Texture< T >::GetHeight() , 以及 carla::rpc::Texture< T >::GetWidth().

+ 函数调用图:

◆ DebugShowSignals()

void ACarlaGameModeBase::DebugShowSignals ( bool enable)

在文件 CarlaGameModeBase.cpp524 行定义.

引用了 carla::geom::Math::GenerateRange(), carla::geom::Rotation::GetUpVector() , 以及 Map.

+ 函数调用图:

◆ EnableEnvironmentObjects()

void ACarlaGameModeBase::EnableEnvironmentObjects ( const TSet< uint64 > & EnvObjectIds,
bool Enable )

在文件 CarlaGameModeBase.cpp646 行定义.

引用了 UObjectRegister::EnableEnvironmentObjects() , 以及 ObjectRegister.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ EnableOverlapEvents()

void ACarlaGameModeBase::EnableOverlapEvents ( )

在文件 CarlaGameModeBase.cpp499 行定义.

引用了 ATagger::GetTagOfTaggedComponent().

被这些函数引用 BeginPlay().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ EndPlay()

void ACarlaGameModeBase::EndPlay ( const EEndPlayReason::Type EndPlayReason)
overrideprotected

在文件 CarlaGameModeBase.cpp384 行定义.

引用了 CarlaSettingsDelegate, UCarlaEpisode::EndPlay(), Episode, GameInstance, UCarlaGameInstance::NotifyEndEpisode(), FCarlaStaticDelegates::OnEpisodeSettingsChange, OnEpisodeSettingsChangeHandle , 以及 UCarlaSettingsDelegate::Reset().

+ 函数调用图:

◆ FindActorByName()

AActor * ACarlaGameModeBase::FindActorByName ( const FString & ActorName)

在文件 CarlaGameModeBase.cpp262 行定义.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 这是这个函数的调用关系图:

◆ GenerateSpawnPoints()

void ACarlaGameModeBase::GenerateSpawnPoints ( )
private

在文件 CarlaGameModeBase.cpp437 行定义.

引用了 Map , 以及 SpawnPointsTransforms.

被这些函数引用 StoreSpawnPoints().

+ 这是这个函数的调用关系图:

◆ GetAllBBsOfLevel()

TArray< FBoundingBox > ACarlaGameModeBase::GetAllBBsOfLevel ( uint8 TagQueried = 0xFF) const

在文件 CarlaGameModeBase.cpp624 行定义.

引用了 UBoundingBoxCalculator::GetBoundingBoxOfActors().

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetCarlaEpisode()

const UCarlaEpisode & ACarlaGameModeBase::GetCarlaEpisode ( ) const
inline

在文件 CarlaGameModeBase.h43 行定义.

◆ GetEnvironmentObjects()

TArray< FEnvironmentObject > ACarlaGameModeBase::GetEnvironmentObjects ( uint8 QueriedTag = 0xFF) const
inline

在文件 CarlaGameModeBase.h73 行定义.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 这是这个函数的调用关系图:

◆ GetFullMapPath()

const FString ACarlaGameModeBase::GetFullMapPath ( ) const

在文件 CarlaGameModeBase.cpp69 行定义.

引用了 GetRelativeMapPath().

被这些函数引用 FCarlaServer::FPimpl::BindActions() , 以及 UOpenDrive::GetXODR().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetLMManager()

ALargeMapManager * ACarlaGameModeBase::GetLMManager ( ) const
inline

在文件 CarlaGameModeBase.h99 行定义.

被这些函数引用 FCarlaServer::FPimpl::BindActions(), URayTracer::CastRay(), UCarlaStatics::GetLargeMapManager() , 以及 URayTracer::ProjectPoint().

+ 这是这个函数的调用关系图:

◆ GetMap()

const boost::optional< carla::road::Map > & ACarlaGameModeBase::GetMap ( ) const
inline

在文件 CarlaGameModeBase.h49 行定义.

被这些函数引用 AOpenDriveGenerator::GenerateRoadMesh(), AOpenDriveGenerator::GenerateSpawnPoints(), ATrafficLightManager::GetMap(), AOpenDriveGenerator::IsOpenDriveValid(), FTrafficSignData::RestoreActorData() , 以及 FTrafficLightData::RestoreActorData().

+ 这是这个函数的调用关系图:

◆ GetNamesOfAllActors()

TArray< FString > ACarlaGameModeBase::GetNamesOfAllActors ( )

在文件 CarlaGameModeBase.cpp245 行定义.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 这是这个函数的调用关系图:

◆ GetRelativeMapPath()

const FString ACarlaGameModeBase::GetRelativeMapPath ( ) const

在文件 CarlaGameModeBase.cpp60 行定义.

被这些函数引用 GetFullMapPath().

+ 这是这个函数的调用关系图:

◆ GetSpawnPointsTransforms()

const TArray< FTransform > & ACarlaGameModeBase::GetSpawnPointsTransforms ( ) const
inline

在文件 CarlaGameModeBase.h65 行定义.

被这些函数引用 UCarlaEpisode::GetRecommendedSpawnPoints().

+ 这是这个函数的调用关系图:

◆ GetTrafficLightManager()

ATrafficLightManager * ACarlaGameModeBase::GetTrafficLightManager ( )

在文件 CarlaGameModeBase.cpp464 行定义.

引用了 GetULevelFromName() , 以及 TrafficLightManager.

被这些函数引用 BeginPlay().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ GetULevelFromName()

ULevel * ACarlaGameModeBase::GetULevelFromName ( FString LevelName)

在文件 CarlaGameModeBase.cpp745 行定义.

被这些函数引用 GetTrafficLightManager(), ATrafficLightManager::RegisterLightComponentFromOpenDRIVE(), ATrafficLightManager::SpawnSignals() , 以及 ATrafficLightManager::SpawnTrafficLights().

+ 这是这个函数的调用关系图:

◆ InitGame()

void ACarlaGameModeBase::InitGame ( const FString & MapName,
const FString & Options,
FString & ErrorMessage )
overrideprotected

◆ LoadMapLayer()

void ACarlaGameModeBase::LoadMapLayer ( int32 MapLayers)

在文件 CarlaGameModeBase.cpp653 行定义.

引用了 ConvertMapLayerMaskToMapNames(), LatentInfoUUID , 以及 PendingLevelsToLoad.

被这些函数引用 BeginPlay() , 以及 FCarlaServer::FPimpl::BindActions().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ OnEpisodeSettingsChanged()

void ACarlaGameModeBase::OnEpisodeSettingsChanged ( const FEpisodeSettings & Settings)
private

在文件 CarlaGameModeBase.cpp790 行定义.

引用了 CarlaSettingsDelegate, FEpisodeSettings::MaxCullingDistance , 以及 UCarlaSettingsDelegate::SetAllActorsDrawDistance().

被这些函数引用 InitGame().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ OnLoadStreamLevel()

void ACarlaGameModeBase::OnLoadStreamLevel ( )

在文件 CarlaGameModeBase.cpp768 行定义.

引用了 PendingLevelsToLoad, ReadyToRegisterObjects, RegisterEnvironmentObjects() , 以及 ATagger::TagActorsInLevel().

+ 函数调用图:

◆ OnUnloadStreamLevel()

void ACarlaGameModeBase::OnUnloadStreamLevel ( )

在文件 CarlaGameModeBase.cpp780 行定义.

引用了 PendingLevelsToUnLoad, ReadyToRegisterObjects , 以及 RegisterEnvironmentObjects().

+ 函数调用图:

◆ ParseOpenDrive()

void ACarlaGameModeBase::ParseOpenDrive ( )
private

在文件 CarlaGameModeBase.cpp451 行定义.

引用了 Episode, UOpenDrive::GetXODR(), carla::opendrive::OpenDriveParser::Load(), Map , 以及 UCarlaEpisode::MapGeoReference.

被这些函数引用 InitGame().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ RegisterEnvironmentObjects()

void ACarlaGameModeBase::RegisterEnvironmentObjects ( )
private

在文件 CarlaGameModeBase.cpp638 行定义.

引用了 ObjectRegister , 以及 UObjectRegister::RegisterObjects().

被这些函数引用 BeginPlay(), OnLoadStreamLevel() , 以及 OnUnloadStreamLevel().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ RestartPlayer()

void ACarlaGameModeBase::RestartPlayer ( AController * NewPlayer)
overrideprotected

在文件 CarlaGameModeBase.cpp167 行定义.

引用了 UCarlaSettingsDelegate::ApplyQualityLevelPreRestart() , 以及 CarlaSettingsDelegate.

+ 函数调用图:

◆ SpawnActorFactories()

void ACarlaGameModeBase::SpawnActorFactories ( )
private

在文件 CarlaGameModeBase.cpp399 行定义.

引用了 ActorFactories, ActorFactoryInstances, Episode , 以及 UCarlaEpisode::RegisterActorFactory().

被这些函数引用 InitGame().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ StoreSpawnPoints()

void ACarlaGameModeBase::StoreSpawnPoints ( )
private

在文件 CarlaGameModeBase.cpp422 行定义.

引用了 GenerateSpawnPoints() , 以及 SpawnPointsTransforms.

被这些函数引用 InitGame().

+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ Tick()

void ACarlaGameModeBase::Tick ( float DeltaSeconds)
overrideprotected
待办事项
Recorder should not tick here, FCarlaEngine should do it.

在文件 CarlaGameModeBase.cpp373 行定义.

引用了 Recorder.

◆ UnLoadMapLayer()

void ACarlaGameModeBase::UnLoadMapLayer ( int32 MapLayers)

在文件 CarlaGameModeBase.cpp678 行定义.

引用了 ConvertMapLayerMaskToMapNames(), LatentInfoUUID , 以及 PendingLevelsToUnLoad.

被这些函数引用 FCarlaServer::FPimpl::BindActions().

+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ ActorFactories

TSet<TSubclassOf<ACarlaActorFactory> > ACarlaGameModeBase::ActorFactories
private

List of actor spawners that will be used to define and spawn the actors available in game.

在文件 CarlaGameModeBase.h172 行定义.

被这些函数引用 SpawnActorFactories().

◆ ActorFactoryInstances

TArray<ACarlaActorFactory *> ACarlaGameModeBase::ActorFactoryInstances
private

在文件 CarlaGameModeBase.h178 行定义.

被这些函数引用 SpawnActorFactories().

◆ CarlaSettingsDelegate

UCarlaSettingsDelegate* ACarlaGameModeBase::CarlaSettingsDelegate = nullptr
private

在文件 CarlaGameModeBase.h154 行定义.

被这些函数引用 ACarlaGameModeBase(), EndPlay(), InitGame(), OnEpisodeSettingsChanged() , 以及 RestartPlayer().

◆ Episode

UCarlaEpisode* ACarlaGameModeBase::Episode = nullptr
private

◆ GameInstance

UCarlaGameInstance* ACarlaGameModeBase::GameInstance = nullptr
private

在文件 CarlaGameModeBase.h148 行定义.

被这些函数引用 BeginPlay(), EndPlay() , 以及 InitGame().

◆ IMUISensorGravity

float ACarlaGameModeBase::IMUISensorGravity = 9.81f

◆ LatentInfoUUID

int32 ACarlaGameModeBase::LatentInfoUUID = 0
private

在文件 CarlaGameModeBase.h197 行定义.

被这些函数引用 LoadMapLayer() , 以及 UnLoadMapLayer().

◆ LMManager

ALargeMapManager* ACarlaGameModeBase::LMManager = nullptr
private

在文件 CarlaGameModeBase.h184 行定义.

被这些函数引用 BeginPlay() , 以及 InitGame().

◆ Map

boost::optional<carla::road::Map> ACarlaGameModeBase::Map
private

在文件 CarlaGameModeBase.h188 行定义.

被这些函数引用 DebugShowSignals(), GenerateSpawnPoints(), InitGame() , 以及 ParseOpenDrive().

◆ ObjectRegister

UObjectRegister* ACarlaGameModeBase::ObjectRegister = nullptr
private

在文件 CarlaGameModeBase.h163 行定义.

被这些函数引用 ACarlaGameModeBase(), EnableEnvironmentObjects() , 以及 RegisterEnvironmentObjects().

◆ OnEpisodeSettingsChangeHandle

FDelegateHandle ACarlaGameModeBase::OnEpisodeSettingsChangeHandle
private

在文件 CarlaGameModeBase.h186 行定义.

被这些函数引用 EndPlay() , 以及 InitGame().

◆ PendingLevelsToLoad

int ACarlaGameModeBase::PendingLevelsToLoad = 0
private

在文件 CarlaGameModeBase.h190 行定义.

被这些函数引用 BeginPlay(), LoadMapLayer() , 以及 OnLoadStreamLevel().

◆ PendingLevelsToUnLoad

int ACarlaGameModeBase::PendingLevelsToUnLoad = 0
private

在文件 CarlaGameModeBase.h191 行定义.

被这些函数引用 OnUnloadStreamLevel() , 以及 UnLoadMapLayer().

◆ ReadyToRegisterObjects

bool ACarlaGameModeBase::ReadyToRegisterObjects = false
private

在文件 CarlaGameModeBase.h193 行定义.

被这些函数引用 BeginPlay(), OnLoadStreamLevel() , 以及 OnUnloadStreamLevel().

◆ Recorder

ACarlaRecorder* ACarlaGameModeBase::Recorder = nullptr
private

在文件 CarlaGameModeBase.h160 行定义.

被这些函数引用 ACarlaGameModeBase(), BeginPlay(), InitGame() , 以及 Tick().

◆ SpawnPointsTransforms

TArray<FTransform> ACarlaGameModeBase::SpawnPointsTransforms
private

在文件 CarlaGameModeBase.h175 行定义.

被这些函数引用 GenerateSpawnPoints() , 以及 StoreSpawnPoints().

◆ TaggerDelegate

UTaggerDelegate* ACarlaGameModeBase::TaggerDelegate = nullptr
private

在文件 CarlaGameModeBase.h151 行定义.

被这些函数引用 ACarlaGameModeBase(), BeginPlay() , 以及 InitGame().

◆ TrafficLightManager

ATrafficLightManager* ACarlaGameModeBase::TrafficLightManager = nullptr
private

在文件 CarlaGameModeBase.h181 行定义.

被这些函数引用 GetTrafficLightManager().

◆ WeatherClass

TSubclassOf<AWeather> ACarlaGameModeBase::WeatherClass
private

The class of Weather to spawn.

在文件 CarlaGameModeBase.h167 行定义.

被这些函数引用 InitGame().


该类的文档由以下文件生成: