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

#include <CarlaEngine.h>

+ Inheritance diagram for FCarlaEngine:

Classes

struct  FPendingFrameTime
 

Public Member Functions

UCarlaEpisode * GetCurrentEpisode ()
 
std::shared_ptr< carla::multigpu::Router > GetSecondaryServer ()
 
FCarlaServer & GetServer ()
 
const FCarlaServer & GetServer () const
 
bool IsPrimaryServer () const
 False on a Multi-GPU secondary.
 
void NotifyBeginEpisode (UCarlaEpisode &Episode)
 
void NotifyEndEpisode ()
 
void NotifyInitGame (const UCarlaSettings &Settings)
 
void SetRecorder (ACarlaRecorder *InRecorder)
 
 ~FCarlaEngine ()
 

Static Public Member Functions

static uint64_t GetFrameCounter ()
 
static void ResetFrameCounter (uint64_t Value=0)
 
static uint64_t UpdateFrameCounter ()
 

Static Public Attributes

static uint64_t FrameCounter = 0
 

Private Member Functions

void BindReplayedSensor (uint32_t PrimaryActorId, uint32_t LocalActorId, bool bCreated)
 Secondary only: binds a sensor replayed from the primary to the stream its clients were given (see carla::multigpu::SensorStreamRegistry).
 
void DetachFromPrimary (const char *Reason)
 Secondary only: stops mirroring the primary for good (it is gone, or this server cannot load its map).
 
void MirrorPrimarySettings (const carla::multigpu::FrameTime &Time)
 
void OnBeginFrame ()
 Secondary only (FCoreDelegates::OnBeginFrame, before the engine computes this frame's delta): waits for the primary's next frame and makes its delta this engine frame's time step.
 
void OnEpisodeSettingsChanged (const FEpisodeSettings &Settings)
 
void OnPostTick (UWorld *World, ELevelTick TickType, float DeltaSeconds)
 
void OnPreTick (UWorld *World, ELevelTick TickType, float DeltaSeconds)
 
void OnPreWorldInitialization (UWorld *World, const UWorld::InitializationValues IVS)
 Applies FEpisodeSettings::bDeterministicCollisions to the world about to be created.
 
void PlayPrimaryFrame (UWorld &World, float DeltaSeconds, FFrameData &Frame)
 Secondary only: plays the primary's frame on the frame OnBeginFrame prepared, with the primary's clocks and settings.
 
void ResetSimulationState ()
 
void RestorePlayedPoses ()
 Secondary only: puts back any mirror that moved since its frame was played (a local mover the mirror does not stop), right before capture.
 
void SendEpisodeReady ()
 Secondary only: tells the primary this episode is ready, which also makes it send a full resync.
 
void SendEpisodeReadyWhenContentReady ()
 Sends EPISODE_READY once the world's generated content has finished spawning.
 
void WaitForSecondaryEpisodes ()
 Primary only: keeps processing RPC until every secondary sent LOAD_MAP reports its episode ready (bounded by a timeout).
 
- Private Member Functions inherited from NonCopyable
 NonCopyable ()=default
 
 NonCopyable (const NonCopyable &)=delete
 
void operator= (const NonCopyable &)=delete
 

Private Attributes

bool bEpisodeReadyPending = false
 
bool bFramePlayedThisTick = false
 
bool bFramesToProcessBacklogged = false
 
bool bIsPrimaryServer = true
 
bool bIsRunning = false
 
std::atomic< bool > bLoadMapPending {false}
 
bool bMapChanged = false
 
std::atomic< bool > bNewConnection {false}
 
std::atomic< bool > bResyncRequested {false}
 
bool bSynchronousMode = false
 
bool bTravelFailed = false
 
bool bWarnedFrameFormat = false
 
bool bWarnedNoSensorTicks = false
 
bool bWarnedSensorBindRefused = false
 
bool bWarnedUnpairedFrame = false
 
bool bWarnedUntimedFrame = false
 
bool bWasConnectedToPrimary = false
 
UCarlaEpisode * CurrentEpisode = nullptr
 
FEpisodeSettings CurrentSettings
 
uint64_t DeltaMismatches = 0u
 
uint64_t DroppedFrames = 0u
 
TOptional< int32 > DynamicTreeBeforeDeterministicCollisions
 Value of p.Chaos.AccelerationStructureUseDynamicTree before deterministic collisions changed it; unset while they are off.
 
double EpisodeReadyPendingSince = 0.0
 
std::vector< FFrameData > FramesToProcess
 
std::mutex FrameToProcessMutex
 
double LastOwnClockFrameSeconds = 0.0
 
std::optional< uint64_t > LastPlayedFrame
 
double LastResyncRequestSeconds = 0.0
 
carla::multigpu::SensorStreamRegistry::epoch_type LoadingEpoch = 0u
 
carla::multigpu::load_map_id_type LoadingLoadMapId = 0u
 
FString LoadingMap
 
std::unordered_map< uint32_t, uint32_t > MappedId
 
FMirrorState MirrorState
 
FDelegateHandle OnBeginFrameHandle
 
FDelegateHandle OnEpisodeSettingsChangeHandle
 
FDelegateHandle OnPostTickHandle
 
FDelegateHandle OnPreTickHandle
 
FDelegateHandle OnPreWorldInitializationHandle
 
FDelegateHandle OnTravelFailureHandle
 
std::optional< FPendingFrameTime > PendingFrameTime
 
carla::multigpu::SensorStreamRegistry::epoch_type PendingLoadEpoch = 0u
 
FString PendingLoadMap
 
carla::multigpu::LoadMapExtras PendingLoadMapExtras
 
carla::multigpu::load_map_id_type PendingLoadMapId = 0u
 
std::optional< uint64_t > PreparedFrame
 
std::atomic< size_t > QueuedFrames {0u}
 
ACarlaRecorder * Recorder = nullptr
 
TSet< FName > RestoredPoseClasses
 
uint64_t RestoredPoses = 0u
 
std::shared_ptr< carla::multigpu::Secondary > Secondary
 
std::shared_ptr< carla::multigpu::Router > SecondaryServer
 
carla::multigpu::SensorStreamRegistry SensorStreams
 
FCarlaServer Server
 
FWorldObserver WorldObserver
 

Detailed Description

Definition at line 39 of file CarlaEngine.h.

Constructor & Destructor Documentation

◆ ~FCarlaEngine()

FCarlaEngine::~FCarlaEngine ( )

Member Function Documentation

◆ BindReplayedSensor()

void FCarlaEngine::BindReplayedSensor ( uint32_t  PrimaryActorId,
uint32_t  LocalActorId,
bool  bCreated 
)
private

◆ DetachFromPrimary()

void FCarlaEngine::DetachFromPrimary ( const char *  Reason)
private

Secondary only: stops mirroring the primary for good (it is gone, or this server cannot load its map).

Never call it holding FrameToProcessMutex.

Definition at line 720 of file CarlaEngine.cpp.

References FramesToProcess, FrameToProcessMutex, LastPlayedFrame, carla::log_error(), PreparedFrame, QueuedFrames, and Secondary.

Referenced by NotifyBeginEpisode(), and OnPreTick().

◆ GetCurrentEpisode()

UCarlaEpisode * FCarlaEngine::GetCurrentEpisode ( )
inline

Definition at line 63 of file CarlaEngine.h.

References CurrentEpisode.

Referenced by OnPostTick().

◆ GetFrameCounter()

static uint64_t FCarlaEngine::GetFrameCounter ( )
inlinestatic

◆ GetSecondaryServer()

std::shared_ptr< carla::multigpu::Router > FCarlaEngine::GetSecondaryServer ( )
inline

Definition at line 99 of file CarlaEngine.h.

References SecondaryServer.

Referenced by UCarlaEpisode::LoadNewEpisode().

◆ GetServer() [1/2]

FCarlaServer & FCarlaEngine::GetServer ( )
inline

Definition at line 58 of file CarlaEngine.h.

References Server.

◆ GetServer() [2/2]

const FCarlaServer & FCarlaEngine::GetServer ( ) const
inline

Definition at line 53 of file CarlaEngine.h.

References Server.

◆ IsPrimaryServer()

bool FCarlaEngine::IsPrimaryServer ( ) const
inline

False on a Multi-GPU secondary.

Known from NotifyInitGame on, before any actor of the first map begins play.

Definition at line 106 of file CarlaEngine.h.

References bIsPrimaryServer.

◆ MirrorPrimarySettings()

void FCarlaEngine::MirrorPrimarySettings ( const carla::multigpu::FrameTime &  Time)
private

◆ NotifyBeginEpisode()

void FCarlaEngine::NotifyBeginEpisode ( UCarlaEpisode &  Episode)

Definition at line 576 of file CarlaEngine.cpp.

References FEpisodeSettings::ActorActiveDistance, UCarlaEpisode::ApplySettings(), FEpisodeSettings::bAdjustSignsHeightToGround, bEpisodeReadyPending, bIsPrimaryServer, UCarlaEpisode::bIsPrimaryServer, FEpisodeSettings::bNoRenderingMode, FEpisodeSettings::bSynchronousMode, bTravelFailed, bWarnedFrameFormat, bWarnedNoSensorTicks, bWarnedSensorBindRefused, bWarnedUnpairedFrame, bWarnedUntimedFrame, CarlaReplayer::CheckPlayAfterMapLoaded(), CurrentEpisode, CurrentSettings, DetachFromPrimary(), DroppedFrames, EpisodeReadyPendingSince, UCarlaEpisode::EpisodeSettings, FCarlaEngine_GetFixedDeltaSeconds(), FEpisodeSettings::FixedDeltaSeconds, FrameToProcessMutex, FCarlaActor::GetActor(), UCarlaEpisode::GetActorRegistry(), ALargeMapManager::GetActorStreamingDistance(), FCarlaActor::GetActorType(), UCarlaStatics::GetGameMode(), UCarlaStatics::GetLargeMapManager(), ALargeMapManager::GetLayerStreamingDistance(), UCarlaEpisode::GetMapName(), ACarlaRecorder::GetReplayer(), ACarlaGameModeBase::GetTrafficLightManager(), FCarlaActor::IsDormant(), LastPlayedFrame, LoadingEpoch, LoadingMap, MappedId, MirrorState, FCarlaServer::NotifyBeginEpisode(), carla::multigpu::SensorStreamRegistry::OpenEpisode(), FCarlaActor::Other, PreparedFrame, Recorder, FMirrorState::Reset(), ResetFrameCounter(), RestoredPoseClasses, RestoredPoses, Secondary, SendEpisodeReadyWhenContentReady(), SensorStreams, Server, ACarlaRecorder::SetEpisode(), UCarlaEpisode::SetRecorder(), and FEpisodeSettings::TileStreamingDistance.

◆ NotifyEndEpisode()

void FCarlaEngine::NotifyEndEpisode ( )

◆ NotifyInitGame()

void FCarlaEngine::NotifyInitGame ( const UCarlaSettings &  Settings)

Definition at line 198 of file CarlaEngine.cpp.

References FCarlaServer::AsyncRun(), carla::multigpu::SensorStreamRegistry::BeginEpisodeChange(), bFramesToProcessBacklogged, bIsPrimaryServer, bIsRunning, bLoadMapPending, bMapChanged, bNewConnection, bResyncRequested, bSynchronousMode, bTravelFailed, bWarnedFrameFormat, UCarlaEpisode::ClearGeneratedWorldFiles(), CurrentEpisode, carla::multigpu::DISABLE_ROS, carla::streaming::Server::DisableForROS(), DroppedFrames, carla::multigpu::ENABLE_ROS, carla::streaming::Server::EnableForROS(), carla::multigpu::LoadMapRequest::extras, FCarlaEngine_GetNumberOfThreadsForRPCServer(), carla::streaming::Server::FindStreamAlias(), carla::multigpu::FrameDataReadResult::first_skipped_id, carla::multigpu::FrameDataStatusName(), FramesToProcess, FrameToProcessMutex, UCarlaContentPackManager::Get(), carla::streaming::detail::token_type::get_stream_id(), carla::multigpu::GET_TOKEN, carla::ros2::GetAvailableMiddleware(), FFrameData::GetFrameNumber(), carla::ros2::ROS2::GetInstance(), FCarlaServer::GetSecondaryServer(), FCarlaServer::GetStreamingServer(), FWorldObserver::GetToken(), carla::multigpu::FrameDataReadResult::grown, carla::multigpu::IS_ENABLED_ROS, carla::multigpu::FrameDataReadResult::IsComplete(), carla::streaming::Server::IsEnabledForROS(), carla::ros2::IsValidDomainId(), carla::ros2::kMaxDomainId, carla::ros2::kMinDomainId, carla::multigpu::kTokenNotReadyMarker, carla::ros2::kUnsetDomainId, carla::multigpu::LoadMapRequest::load_id, carla::multigpu::LOAD_MAP, carla::log_error(), carla::log_info(), carla::log_warning(), carla::multigpu::LoadMapRequest::map, carla::ros2::MiddlewareFromString(), carla::multigpu::FrameDataReadResult::offset, OnBeginFrame(), OnBeginFrameHandle, FCarlaStaticDelegates::OnEpisodeSettingsChange, OnEpisodeSettingsChanged(), OnEpisodeSettingsChangeHandle, OnPostTick(), OnPostTickHandle, OnPreTick(), OnPreTickHandle, OnPreWorldInitialization(), OnPreWorldInitializationHandle, OnTravelFailureHandle, carla::multigpu::FrameDataReadResult::packet_id, carla::multigpu::FrameDataReadResult::packet_size, carla::multigpu::ParseLoadMapPayload(), PendingLoadEpoch, PendingLoadMap, PendingLoadMapExtras, PendingLoadMapId, UCarlaSettings::PrimaryIP, UCarlaSettings::PrimaryPort, QueuedFrames, FFrameData::Read(), carla::multigpu::SensorStreamRegistry::Resolve(), UCarlaSettings::RPCPort, Secondary, UCarlaSettings::SecondaryPort, SecondaryServer, carla::multigpu::SEND_FRAME, SensorStreams, Server, FCarlaServer::SetIsSecondaryServer(), carla::streaming::Server::SetROS2TopicVisibilityDefaultEnabled(), UOpenDrive::SetSavedXODRDirectory(), carla::streaming::Server::SetSessionsUseStreamAliases(), FWorldObserver::SetStream(), carla::streaming::Server::SetStreamAlias(), carla::multigpu::FrameDataReadResult::skipped, FCarlaServer::Start(), carla::multigpu::FrameDataReadResult::status, UCarlaSettings::StreamingPort, WorldObserver, and carla::multigpu::YOU_ALIVE.

◆ OnBeginFrame()

void FCarlaEngine::OnBeginFrame ( )
private

◆ OnEpisodeSettingsChanged()

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

◆ OnPostTick()

void FCarlaEngine::OnPostTick ( UWorld *  World,
ELevelTick  TickType,
float  DeltaSeconds 
)
private

Definition at line 1249 of file CarlaEngine.cpp.

References bFramePlayedThisTick, bIsPrimaryServer, bMapChanged, bNewConnection, FWorldObserver::BroadcastTick(), FFrameData::Clear(), CurrentEpisode, CVarCarlaMultiGpuVerifyFrames(), carla::multigpu::FrameTime::delta_seconds, carla::multigpu::FrameTime::elapsed_game_time, FCarlaEngine_IsWorldTravelPending(), carla::multigpu::FrameTime::frame, carla::multigpu::FrameDataStatusName(), FrameTimeFromSettings(), carla::multigpu::FrameTime::full_resync, GetCurrentEpisode(), UCarlaEpisode::GetElapsedGameTime(), GetFrameCounter(), UCarlaEpisode::GetFrameData(), FFrameData::GetFrameData(), UCarlaEpisode::GetRecorder(), UCarlaEpisode::GetSensorManager(), UCarlaEpisode::GetVisualGameTime(), carla::multigpu::FrameDataReadResult::grown, carla::multigpu::FrameDataReadResult::IsComplete(), UCarlaLightSubsystem::IsUpdatePending(), carla::multigpu::FrameDataReadResult::offset, carla::multigpu::FrameDataReadResult::packet_id, PendingFrameTime, FSensorManager::PostPhysTick(), FFrameData::Read(), ResetSimulationState(), RestorePlayedPoses(), SecondaryServer, FFrameData::SetFrameTime(), carla::multigpu::FrameDataReadResult::skipped, carla::multigpu::FrameDataReadResult::status, ACarlaRecorder::Ticking(), carla::multigpu::FrameTime::time_dilation, carla::multigpu::FrameTime::visual_game_time, carla::multigpu::FrameTime::world_audio_time_seconds, carla::multigpu::FrameTime::world_real_time_seconds, carla::multigpu::FrameTime::world_time_seconds, carla::multigpu::FrameTime::world_unpaused_time_seconds, WorldObserver, and FFrameData::Write().

Referenced by NotifyInitGame().

◆ OnPreTick()

void FCarlaEngine::OnPreTick ( UWorld *  World,
ELevelTick  TickType,
float  DeltaSeconds 
)
private

◆ OnPreWorldInitialization()

void FCarlaEngine::OnPreWorldInitialization ( UWorld *  World,
const UWorld::InitializationValues  IVS 
)
private

◆ PlayPrimaryFrame()

void FCarlaEngine::PlayPrimaryFrame ( UWorld &  World,
float  DeltaSeconds,
FFrameData &  Frame 
)
private

◆ ResetFrameCounter()

static void FCarlaEngine::ResetFrameCounter ( uint64_t  Value = 0)
inlinestatic

◆ ResetSimulationState()

void FCarlaEngine::ResetSimulationState ( )
private

Definition at line 1459 of file CarlaEngine.cpp.

References bMapChanged.

Referenced by OnPostTick().

◆ RestorePlayedPoses()

void FCarlaEngine::RestorePlayedPoses ( )
private

Secondary only: puts back any mirror that moved since its frame was played (a local mover the mirror does not stop), right before capture.

Definition at line 1182 of file CarlaEngine.cpp.

References CurrentEpisode, UCarlaEpisode::FindCarlaActor(), FCarlaActor::GetActor(), FCarlaActor::GetActorGlobalTransform(), GetFrameCounter(), FCarlaActor::IsDormant(), MirrorState, FMirrorState::PlayedPoses, RestoredPoseClasses, RestoredPoses, and FCarlaActor::SetActorGlobalTransform().

Referenced by OnPostTick().

◆ SendEpisodeReady()

void FCarlaEngine::SendEpisodeReady ( )
private

Secondary only: tells the primary this episode is ready, which also makes it send a full resync.

Definition at line 714 of file CarlaEngine.cpp.

References LoadingLoadMapId, carla::multigpu::MakeEpisodeReadyMessage(), and Secondary.

Referenced by OnBeginFrame(), and SendEpisodeReadyWhenContentReady().

◆ SendEpisodeReadyWhenContentReady()

void FCarlaEngine::SendEpisodeReadyWhenContentReady ( )
private

Sends EPISODE_READY once the world's generated content has finished spawning.

Definition at line 694 of file CarlaEngine.cpp.

References bEpisodeReadyPending, CurrentEpisode, EpisodeReadyPendingSince, and SendEpisodeReady().

Referenced by NotifyBeginEpisode(), and OnBeginFrame().

◆ SetRecorder()

void FCarlaEngine::SetRecorder ( ACarlaRecorder *  InRecorder)
inline

Definition at line 68 of file CarlaEngine.h.

References Recorder.

Referenced by UCarlaGameInstance::UCarlaGameInstance().

◆ UpdateFrameCounter()

static uint64_t FCarlaEngine::UpdateFrameCounter ( )
inlinestatic

Definition at line 78 of file CarlaEngine.h.

References FrameCounter, and carla::ros2::ROS2::GetInstance().

Referenced by OnPreTick().

◆ WaitForSecondaryEpisodes()

void FCarlaEngine::WaitForSecondaryEpisodes ( )
private

Primary only: keeps processing RPC until every secondary sent LOAD_MAP reports its episode ready (bounded by a timeout).

Definition at line 824 of file CarlaEngine.cpp.

References CurrentEpisode, FCarlaEngine_IsWorldTravelPending(), FCarlaServer::RunSome(), SecondaryServer, and Server.

Referenced by OnPreTick().

Member Data Documentation

◆ bEpisodeReadyPending

bool FCarlaEngine::bEpisodeReadyPending = false
private

◆ bFramePlayedThisTick

bool FCarlaEngine::bFramePlayedThisTick = false
private

Definition at line 203 of file CarlaEngine.h.

Referenced by OnBeginFrame(), OnPostTick(), and PlayPrimaryFrame().

◆ bFramesToProcessBacklogged

bool FCarlaEngine::bFramesToProcessBacklogged = false
private

Definition at line 258 of file CarlaEngine.h.

Referenced by NotifyEndEpisode(), and NotifyInitGame().

◆ bIsPrimaryServer

bool FCarlaEngine::bIsPrimaryServer = true
private

◆ bIsRunning

bool FCarlaEngine::bIsRunning = false
private

Definition at line 159 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ bLoadMapPending

std::atomic<bool> FCarlaEngine::bLoadMapPending {false}
private

Definition at line 272 of file CarlaEngine.h.

Referenced by NotifyInitGame(), OnBeginFrame(), and OnPreTick().

◆ bMapChanged

bool FCarlaEngine::bMapChanged = false
private

Definition at line 163 of file CarlaEngine.h.

Referenced by NotifyInitGame(), OnPostTick(), and ResetSimulationState().

◆ bNewConnection

std::atomic<bool> FCarlaEngine::bNewConnection {false}
private

Definition at line 232 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPostTick().

◆ bResyncRequested

std::atomic<bool> FCarlaEngine::bResyncRequested {false}
private

Definition at line 214 of file CarlaEngine.h.

Referenced by NotifyInitGame(), OnBeginFrame(), and PlayPrimaryFrame().

◆ bSynchronousMode

bool FCarlaEngine::bSynchronousMode = false
private

Definition at line 161 of file CarlaEngine.h.

Referenced by NotifyInitGame(), OnEpisodeSettingsChanged(), and OnPreTick().

◆ bTravelFailed

bool FCarlaEngine::bTravelFailed = false
private

Definition at line 220 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and NotifyInitGame().

◆ bWarnedFrameFormat

bool FCarlaEngine::bWarnedFrameFormat = false
private

Definition at line 264 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and NotifyInitGame().

◆ bWarnedNoSensorTicks

bool FCarlaEngine::bWarnedNoSensorTicks = false
private

Definition at line 207 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and PlayPrimaryFrame().

◆ bWarnedSensorBindRefused

bool FCarlaEngine::bWarnedSensorBindRefused = false
private

Definition at line 267 of file CarlaEngine.h.

Referenced by BindReplayedSensor(), and NotifyBeginEpisode().

◆ bWarnedUnpairedFrame

bool FCarlaEngine::bWarnedUnpairedFrame = false
private

Definition at line 206 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and OnPreTick().

◆ bWarnedUntimedFrame

bool FCarlaEngine::bWarnedUntimedFrame = false
private

Definition at line 205 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and PlayPrimaryFrame().

◆ bWasConnectedToPrimary

bool FCarlaEngine::bWasConnectedToPrimary = false
private

Definition at line 204 of file CarlaEngine.h.

Referenced by OnBeginFrame().

◆ CurrentEpisode

UCarlaEpisode* FCarlaEngine::CurrentEpisode = nullptr
private

◆ CurrentSettings

FEpisodeSettings FCarlaEngine::CurrentSettings
private

◆ DeltaMismatches

uint64_t FCarlaEngine::DeltaMismatches = 0u
private

Definition at line 208 of file CarlaEngine.h.

Referenced by NotifyEndEpisode(), and PlayPrimaryFrame().

◆ DroppedFrames

uint64_t FCarlaEngine::DroppedFrames = 0u
private

Definition at line 263 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), NotifyEndEpisode(), and NotifyInitGame().

◆ DynamicTreeBeforeDeterministicCollisions

TOptional<int32> FCarlaEngine::DynamicTreeBeforeDeterministicCollisions
private

Value of p.Chaos.AccelerationStructureUseDynamicTree before deterministic collisions changed it; unset while they are off.

Definition at line 226 of file CarlaEngine.h.

Referenced by OnPreWorldInitialization().

◆ EpisodeReadyPendingSince

double FCarlaEngine::EpisodeReadyPendingSince = 0.0
private

Definition at line 276 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and SendEpisodeReadyWhenContentReady().

◆ FrameCounter

uint64_t FCarlaEngine::FrameCounter = 0
static

Definition at line 43 of file CarlaEngine.h.

Referenced by GetFrameCounter(), ResetFrameCounter(), and UpdateFrameCounter().

◆ FramesToProcess

std::vector<FFrameData> FCarlaEngine::FramesToProcess
private

◆ FrameToProcessMutex

std::mutex FCarlaEngine::FrameToProcessMutex
private

◆ LastOwnClockFrameSeconds

double FCarlaEngine::LastOwnClockFrameSeconds = 0.0
private

Definition at line 209 of file CarlaEngine.h.

Referenced by OnBeginFrame().

◆ LastPlayedFrame

std::optional<uint64_t> FCarlaEngine::LastPlayedFrame
private

◆ LastResyncRequestSeconds

double FCarlaEngine::LastResyncRequestSeconds = 0.0
private

Definition at line 210 of file CarlaEngine.h.

Referenced by OnBeginFrame().

◆ LoadingEpoch

carla::multigpu::SensorStreamRegistry::epoch_type FCarlaEngine::LoadingEpoch = 0u
private

Definition at line 284 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and OnPreTick().

◆ LoadingLoadMapId

carla::multigpu::load_map_id_type FCarlaEngine::LoadingLoadMapId = 0u
private

Definition at line 289 of file CarlaEngine.h.

Referenced by OnPreTick(), and SendEpisodeReady().

◆ LoadingMap

FString FCarlaEngine::LoadingMap
private

Definition at line 279 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and OnPreTick().

◆ MappedId

std::unordered_map<uint32_t, uint32_t> FCarlaEngine::MappedId
private

Definition at line 234 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and PlayPrimaryFrame().

◆ MirrorState

FMirrorState FCarlaEngine::MirrorState
private

Definition at line 238 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), PlayPrimaryFrame(), and RestorePlayedPoses().

◆ OnBeginFrameHandle

FDelegateHandle FCarlaEngine::OnBeginFrameHandle
private

Definition at line 181 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ OnEpisodeSettingsChangeHandle

FDelegateHandle FCarlaEngine::OnEpisodeSettingsChangeHandle
private

Definition at line 179 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ OnPostTickHandle

FDelegateHandle FCarlaEngine::OnPostTickHandle
private

Definition at line 177 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ OnPreTickHandle

FDelegateHandle FCarlaEngine::OnPreTickHandle
private

Definition at line 175 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ OnPreWorldInitializationHandle

FDelegateHandle FCarlaEngine::OnPreWorldInitializationHandle
private

Definition at line 222 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ OnTravelFailureHandle

FDelegateHandle FCarlaEngine::OnTravelFailureHandle
private

Definition at line 183 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and ~FCarlaEngine().

◆ PendingFrameTime

std::optional<FPendingFrameTime> FCarlaEngine::PendingFrameTime
private

Definition at line 196 of file CarlaEngine.h.

Referenced by OnPostTick(), and OnPreTick().

◆ PendingLoadEpoch

carla::multigpu::SensorStreamRegistry::epoch_type FCarlaEngine::PendingLoadEpoch = 0u
private

Definition at line 283 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPreTick().

◆ PendingLoadMap

FString FCarlaEngine::PendingLoadMap
private

Definition at line 269 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPreTick().

◆ PendingLoadMapExtras

carla::multigpu::LoadMapExtras FCarlaEngine::PendingLoadMapExtras
private

Definition at line 271 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPreTick().

◆ PendingLoadMapId

carla::multigpu::load_map_id_type FCarlaEngine::PendingLoadMapId = 0u
private

Definition at line 288 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPreTick().

◆ PreparedFrame

std::optional<uint64_t> FCarlaEngine::PreparedFrame
private

◆ QueuedFrames

std::atomic<size_t> FCarlaEngine::QueuedFrames {0u}
private

◆ Recorder

ACarlaRecorder* FCarlaEngine::Recorder = nullptr
private

Definition at line 173 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and SetRecorder().

◆ RestoredPoseClasses

TSet<FName> FCarlaEngine::RestoredPoseClasses
private

Definition at line 243 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), and RestorePlayedPoses().

◆ RestoredPoses

uint64_t FCarlaEngine::RestoredPoses = 0u
private

Definition at line 242 of file CarlaEngine.h.

Referenced by NotifyBeginEpisode(), NotifyEndEpisode(), and RestorePlayedPoses().

◆ Secondary

std::shared_ptr<carla::multigpu::Secondary> FCarlaEngine::Secondary
private

◆ SecondaryServer

std::shared_ptr<carla::multigpu::Router> FCarlaEngine::SecondaryServer
private

◆ SensorStreams

carla::multigpu::SensorStreamRegistry FCarlaEngine::SensorStreams
private

◆ Server

FCarlaServer FCarlaEngine::Server
private

◆ WorldObserver

FWorldObserver FCarlaEngine::WorldObserver
private

Definition at line 167 of file CarlaEngine.h.

Referenced by NotifyInitGame(), and OnPostTick().


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