|
CARLA
|
A registry of all the Carla actors. More...
#include <ActorRegistry.h>
Public Types | |
| using | IdType = FCarlaActor::IdType |
| using | ValueType = TSharedPtr< FCarlaActor > |
Public Member Functions | |
Actor registry functions | |
| FCarlaActor * | Register (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 |
| FCarlaActor * | FindCarlaActor (IdType Id) |
| const FCarlaActor * | FindCarlaActor (IdType Id) const |
| FCarlaActor * | FindCarlaActor (const AActor *Actor) |
| const FCarlaActor * | FindCarlaActor (const AActor *Actor) const |
| FCarlaActor * | FindCarlaActorFromStream (carla::streaming::detail::stream_id_type Id) |
| Returns the sensor whose data stream has id Id, or nullptr. | |
| 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 Types | |
| using | DatabaseType = TMap< IdType, TSharedPtr< FCarlaActor > > |
Private Member Functions | |
| TSharedPtr< FCarlaActor > | MakeCarlaActor (IdType Id, AActor &Actor, FActorDescription Description, carla::rpc::ActorState InState) const |
| FCarlaActor | MakeFakeActor (AActor &Actor) const |
Private Attributes | |
| DatabaseType | ActorDatabase |
| TMap< IdType, AActor * > | Actors |
| TMap< AActor *, IdType > | Ids |
Static Private Attributes | |
| static IdType | ID_COUNTER = 0u |
A registry of all the Carla actors.
Definition at line 18 of file ActorRegistry.h.
|
private |
Definition at line 28 of file ActorRegistry.h.
Definition at line 22 of file ActorRegistry.h.
| using FActorRegistry::ValueType = TSharedPtr<FCarlaActor> |
Definition at line 23 of file ActorRegistry.h.
|
inlinenoexcept |
Definition at line 107 of file ActorRegistry.h.
References ActorDatabase.
Referenced by FCarlaServer::FPimpl::BindActions(), FFrameData::FindTrafficSignAt(), CarlaReplayerHelper::FindTrafficSignAt(), FFrameData::GetFrameData(), and ACarlaRecorder::Ticking().
|
inline |
Definition at line 62 of file ActorRegistry.h.
References ActorDatabase.
Referenced by FFrameData::GetFrameData().
| void FActorRegistry::Deregister | ( | AActor * | Actor | ) |
Definition at line 165 of file ActorRegistry.cpp.
References Deregister(), FindCarlaActor(), FCarlaActor::GetActor(), and FCarlaActor::GetActorId().
| void FActorRegistry::Deregister | ( | IdType | Id | ) |
Definition at line 148 of file ActorRegistry.cpp.
References ActorDatabase, Actors, FindCarlaActor(), FCarlaActor::GetActor(), Ids, and FCarlaActor::TheActor.
Referenced by Deregister(), UActorDispatcher::DestroyActor(), and UActorDispatcher::OnActorDestroyed().
|
inlinenoexcept |
Definition at line 112 of file ActorRegistry.h.
References ActorDatabase.
Referenced by FFrameData::FindTrafficSignAt(), CarlaReplayerHelper::FindTrafficSignAt(), FFrameData::GetFrameData(), and ACarlaRecorder::Ticking().
|
inline |
Definition at line 79 of file ActorRegistry.h.
References FindCarlaActor(), and Ids.
|
inline |
Definition at line 85 of file ActorRegistry.h.
References FindCarlaActor(), and Ids.
|
inline |
Definition at line 67 of file ActorRegistry.h.
References ActorDatabase.
Referenced by ACarlaRecorder::AddCollision(), FFrameData::AddExistingActors(), FFrameData::AddPhysicsControl(), ACarlaRecorder::AddPhysicsControl(), FFrameData::AddTrafficLightTime(), ACarlaRecorder::AddTrafficLightTime(), FFrameData::AddTriggerVolume(), ACarlaRecorder::AddTriggerVolume(), ACarlaRecorder::AddVehicleDoor(), ARayCastSemanticLidar::ComputeRawDetection(), Deregister(), Deregister(), UActorDispatcher::DestroyActor(), FindCarlaActor(), FindCarlaActor(), FWorldObserver_GetActorState(), PathLossModel::GetLocationIfVehicle(), PathLossModel::IsVehicle(), UActorDispatcher::OnActorDestroyed(), PutActorToSleep(), Register(), FCarlaShowOnlyFilter::Rescan(), UCarlaEpisode::SerializeActorWithPrimaryIds(), PathLossModel::Simulate(), and WakeActorUp().
|
inline |
Definition at line 73 of file ActorRegistry.h.
References ActorDatabase.
| FCarlaActor * FActorRegistry::FindCarlaActorFromStream | ( | carla::streaming::detail::stream_id_type | Id | ) |
Returns the sensor whose data stream has id Id, or nullptr.
Definition at line 270 of file ActorRegistry.cpp.
References ActorDatabase, carla::streaming::detail::token_type::get_stream_id(), and ASensor::GetToken().
Referenced by GetDescriptionFromStream().
| FString FActorRegistry::GetDescriptionFromStream | ( | carla::streaming::detail::stream_id_type | Id | ) |
Definition at line 289 of file ActorRegistry.cpp.
References FActorInfo::Description, FindCarlaActorFromStream(), FCarlaActor::GetActorInfo(), and FActorDescription::Id.
|
inline |
Definition at line 57 of file ActorRegistry.h.
References Num().
|
private |
Definition at line 173 of file ActorRegistry.cpp.
References CarlaGetRelevantTagAsString(), FCarlaActor::ConstructCarlaActor(), FActorRegistry_GetActorType(), UBoundingBoxCalculator::GetActorBoundingBox(), and ATagger::GetTagsOfTaggedActor().
Referenced by Register().
|
private |
|
inline |
Definition at line 52 of file ActorRegistry.h.
References Actors.
Referenced by FWorldObserver_Serialize(), FFrameData::GetFrameData(), and IsEmpty().
| void FActorRegistry::PutActorToSleep | ( | FCarlaActor::IdType | Id, |
| UCarlaEpisode * | CarlaEpisode | ||
| ) |
Definition at line 216 of file ActorRegistry.cpp.
References Actors, FindCarlaActor(), FCarlaActor::GetActor(), FCarlaActor::GetChildren(), Ids, PutActorToSleep(), and FCarlaActor::PutActorToSleep().
Referenced by UActorDispatcher::PutActorToSleep(), and PutActorToSleep().
| 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.
Definition at line 71 of file ActorRegistry.cpp.
References ActorDatabase, Actors, FindCarlaActor(), ID_COUNTER, Ids, FCarlaActor::IsDormant(), MakeCarlaActor(), FCarlaActor::TheActor, FActorAttribute::Value, and FActorDescription::Variations.
Referenced by UActorDispatcher::RegisterActor().
| void FActorRegistry::WakeActorUp | ( | FCarlaActor::IdType | Id, |
| UCarlaEpisode * | CarlaEpisode | ||
| ) |
Definition at line 236 of file ActorRegistry.cpp.
References Actors, UCarlaEpisode::AttachActors(), FindCarlaActor(), FCarlaActor::GetActor(), FCarlaActor::GetAttachmentType(), FCarlaActor::GetChildren(), FCarlaActor::GetParent(), Ids, FCarlaActor::IsDormant(), WakeActorUp(), and FCarlaActor::WakeActorUp().
Referenced by UActorDispatcher::WakeActorUp(), and WakeActorUp().
|
private |
Definition at line 133 of file ActorRegistry.h.
Referenced by begin(), Contains(), Deregister(), end(), FindCarlaActor(), FindCarlaActor(), FindCarlaActorFromStream(), and Register().
Definition at line 129 of file ActorRegistry.h.
Referenced by Deregister(), Num(), PutActorToSleep(), Register(), and WakeActorUp().
|
staticprivate |
Definition at line 135 of file ActorRegistry.h.
Referenced by Register().
Definition at line 131 of file ActorRegistry.h.
Referenced by Deregister(), FindCarlaActor(), FindCarlaActor(), PutActorToSleep(), Register(), and WakeActorUp().