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

A registry of all the Carla actors. 更多...

#include <ActorRegistry.h>

+ FActorRegistry 的协作图:

Public 类型

using IdType = FCarlaActor::IdType
 
using ValueType = TSharedPtr<FCarlaActor>
 

Public 成员函数

Actor registry functions
FCarlaActorRegister (AActor &Actor, FActorDescription Description, IdType DesiredId=0)
 Register the Actor in the database.
 
void Deregister (IdType Id)
 
void Deregister (AActor *Actor)
 
Look up functions
int32 Num () const
 
bool IsEmpty () const
 
bool Contains (uint32 Id) const
 
FCarlaActorFindCarlaActor (IdType Id)
 
const FCarlaActorFindCarlaActor (IdType Id) const
 
FCarlaActorFindCarlaActor (const AActor *Actor)
 
const FCarlaActorFindCarlaActor (const AActor *Actor) const
 
FString GetDescriptionFromStream (carla::streaming::detail::stream_id_type Id)
 
void PutActorToSleep (IdType Id, UCarlaEpisode *CarlaEpisode)
 
void WakeActorUp (IdType Id, UCarlaEpisode *CarlaEpisode)
 
Range iteration support
auto begin () const noexcept
 
auto end () const noexcept
 

Private 类型

using DatabaseType = TMap<IdType, TSharedPtr<FCarlaActor>>
 

Private 成员函数

TSharedPtr< FCarlaActorMakeCarlaActor (IdType Id, AActor &Actor, FActorDescription Description, carla::rpc::ActorState InState) const
 
FCarlaActor MakeFakeActor (AActor &Actor) const
 

Private 属性

DatabaseType ActorDatabase
 
TMap< IdType, AActor * > Actors
 
TMap< AActor *, IdTypeIds
 

静态 Private 属性

static IdType ID_COUNTER = 0u
 

详细描述

A registry of all the Carla actors.

在文件 ActorRegistry.h20 行定义.

成员类型定义说明

◆ DatabaseType

using FActorRegistry::DatabaseType = TMap<IdType, TSharedPtr<FCarlaActor>>
private

在文件 ActorRegistry.h30 行定义.

◆ IdType

在文件 ActorRegistry.h24 行定义.

◆ ValueType

在文件 ActorRegistry.h25 行定义.

成员函数说明

◆ begin()

auto FActorRegistry::begin ( ) const
inlinenoexcept

在文件 ActorRegistry.h106 行定义.

引用了 ActorDatabase.

被这些函数引用 FCarlaServer::FPimpl::BindActions(), FFrameData::FindTrafficLightAt(), CarlaReplayerHelper::FindTrafficLightAt(), FFrameData::GetFrameData() , 以及 ACarlaRecorder::Ticking().

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

◆ Contains()

bool FActorRegistry::Contains ( uint32 Id) const
inline

在文件 ActorRegistry.h64 行定义.

引用了 ActorDatabase.

被这些函数引用 FFrameData::CreateOrReuseActor() , 以及 CarlaReplayerHelper::TryToCreateReplayerActor().

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

◆ Deregister() [1/2]

void FActorRegistry::Deregister ( AActor * Actor)

在文件 ActorRegistry.cpp135 行定义.

引用了 Deregister(), FindCarlaActor(), FCarlaActor::GetActor() , 以及 FCarlaActor::GetActorId().

+ 函数调用图:

◆ Deregister() [2/2]

void FActorRegistry::Deregister ( IdType Id)

在文件 ActorRegistry.cpp118 行定义.

引用了 ActorDatabase, Actors, FindCarlaActor(), FCarlaActor::GetActor(), Ids , 以及 FCarlaActor::TheActor.

被这些函数引用 Deregister(), UActorDispatcher::DestroyActor() , 以及 UActorDispatcher::OnActorDestroyed().

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

◆ end()

auto FActorRegistry::end ( ) const
inlinenoexcept

在文件 ActorRegistry.h111 行定义.

引用了 ActorDatabase.

被这些函数引用 FFrameData::FindTrafficLightAt(), CarlaReplayerHelper::FindTrafficLightAt(), FFrameData::GetFrameData() , 以及 ACarlaRecorder::Ticking().

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

◆ FindCarlaActor() [1/4]

FCarlaActor * FActorRegistry::FindCarlaActor ( const AActor * Actor)
inline

在文件 ActorRegistry.h81 行定义.

引用了 FindCarlaActor() , 以及 Ids.

+ 函数调用图:

◆ FindCarlaActor() [2/4]

const FCarlaActor * FActorRegistry::FindCarlaActor ( const AActor * Actor) const
inline

在文件 ActorRegistry.h87 行定义.

引用了 FindCarlaActor() , 以及 Ids.

+ 函数调用图:

◆ FindCarlaActor() [3/4]

FCarlaActor * FActorRegistry::FindCarlaActor ( IdType Id)
inline

◆ FindCarlaActor() [4/4]

const FCarlaActor * FActorRegistry::FindCarlaActor ( IdType Id) const
inline

在文件 ActorRegistry.h75 行定义.

引用了 ActorDatabase.

◆ GetDescriptionFromStream()

FString FActorRegistry::GetDescriptionFromStream ( carla::streaming::detail::stream_id_type Id)

在文件 ActorRegistry.cpp240 行定义.

引用了 ActorDatabase, FActorInfo::Description, carla::streaming::detail::token_type::get_stream_id(), ASensor::GetToken() , 以及 FActorDescription::Id.

+ 函数调用图:

◆ IsEmpty()

bool FActorRegistry::IsEmpty ( ) const
inline

在文件 ActorRegistry.h59 行定义.

引用了 Num().

+ 函数调用图:

◆ MakeCarlaActor()

TSharedPtr< FCarlaActor > FActorRegistry::MakeCarlaActor ( IdType Id,
AActor & Actor,
FActorDescription Description,
carla::rpc::ActorState InState ) const
private

在文件 ActorRegistry.cpp143 行定义.

引用了 CarlaGetRelevantTagAsString(), FCarlaActor::ConstructCarlaActor(), FActorRegistry_GetActorType(), UBoundingBoxCalculator::GetActorBoundingBox() , 以及 ATagger::GetTagsOfTaggedActor().

被这些函数引用 Register().

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

◆ MakeFakeActor()

FCarlaActor FActorRegistry::MakeFakeActor ( AActor & Actor) const
private

◆ Num()

int32 FActorRegistry::Num ( ) const
inline

在文件 ActorRegistry.h54 行定义.

引用了 Actors.

被这些函数引用 FWorldObserver_Serialize() , 以及 IsEmpty().

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

◆ PutActorToSleep()

void FActorRegistry::PutActorToSleep ( FCarlaActor::IdType Id,
UCarlaEpisode * CarlaEpisode )

在文件 ActorRegistry.cpp186 行定义.

引用了 Actors, FindCarlaActor(), FCarlaActor::GetActor(), FCarlaActor::GetChildren(), Ids, PutActorToSleep() , 以及 FCarlaActor::PutActorToSleep().

被这些函数引用 UActorDispatcher::PutActorToSleep() , 以及 PutActorToSleep().

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

◆ Register()

FCarlaActor * FActorRegistry::Register ( AActor & Actor,
FActorDescription Description,
IdType DesiredId = 0 )

Register the Actor in the database.

A new ID will be assign to this actor.

警告
Undefined if an actor is registered more than once.

在文件 ActorRegistry.cpp72 行定义.

引用了 ActorDatabase, Actors, FindCarlaActor(), ID_COUNTER, Ids, FCarlaActor::IsDormant(), MakeCarlaActor() , 以及 FCarlaActor::TheActor.

被这些函数引用 UActorDispatcher::RegisterActor().

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

◆ WakeActorUp()

void FActorRegistry::WakeActorUp ( FCarlaActor::IdType Id,
UCarlaEpisode * CarlaEpisode )

在文件 ActorRegistry.cpp206 行定义.

引用了 Actors, UCarlaEpisode::AttachActors(), FindCarlaActor(), FCarlaActor::GetActor(), FCarlaActor::GetAttachmentType(), FCarlaActor::GetChildren(), FCarlaActor::GetParent(), Ids, FCarlaActor::IsDormant(), WakeActorUp() , 以及 FCarlaActor::WakeActorUp().

被这些函数引用 UActorDispatcher::WakeActorUp() , 以及 WakeActorUp().

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

类成员变量说明

◆ ActorDatabase

DatabaseType FActorRegistry::ActorDatabase
private

◆ Actors

TMap<IdType, AActor *> FActorRegistry::Actors
private

在文件 ActorRegistry.h128 行定义.

被这些函数引用 Deregister(), Num(), PutActorToSleep(), Register() , 以及 WakeActorUp().

◆ ID_COUNTER

FActorRegistry::IdType FActorRegistry::ID_COUNTER = 0u
staticprivate

在文件 ActorRegistry.h134 行定义.

被这些函数引用 Register().

◆ Ids

TMap<AActor *, IdType> FActorRegistry::Ids
private

在文件 ActorRegistry.h130 行定义.

被这些函数引用 Deregister(), FindCarlaActor(), FindCarlaActor(), PutActorToSleep(), Register() , 以及 WakeActorUp().


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