CARLA
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
ALargeMapManager Class Reference

#include <LargeMapManager.h>

+ Inheritance diagram for ALargeMapManager:
+ Collaboration diagram for ALargeMapManager:

Public Types

using TileID = uint64
 

Public Member Functions

void AddActorToUnloadedList (const FCarlaActor &CarlaActor, const FTransform &Transform)
 
 ALargeMapManager ()
 
void ClearWorldAndTiles ()
 
void GenerateLargeMap ()
 
void GenerateMap (FString InAssetsPath)
 
void GenerateMap (TArray< TPair< FString, FIntVector >> MapPathsIds)
 
void GenerateMap_Editor ()
 
float GetActorStreamingDistance () const
 
float GetLayerStreamingDistance () const
 
int GetNumTiles () const
 
FIntVector GetNumTilesInXY () const
 
FVector GlobalToLocalLocation (const FVector &InLocation) const
 
FTransform GlobalToLocalTransform (const FTransform &InTransform) const
 
bool IsLevelOfTileLoaded (FIntVector InTileID) const
 
bool IsTileLoaded (TileID TileId) const
 
bool IsTileLoaded (FVector Location) const
 
bool IsTileLoaded (FDVector Location) const
 
FVector LocalToGlobalLocation (const FVector &InLocation) const
 
FTransform LocalToGlobalTransform (const FTransform &InTransform) const
 
void OnActorDestroyed (AActor *DestroyedActor)
 
void OnActorSpawned (const FCarlaActor &CarlaActor)
 
void RegisterInitialObjects ()
 
void SetActorStreamingDistance (float Distance)
 
void SetLayerStreamingDistance (float Distance)
 
void SetTile0Offset (const FVector &Offset)
 
void SetTileSize (float Size)
 
void Tick (float DeltaTime) override
 
 ~ALargeMapManager ()
 

Public Attributes

FString LargeMapName = "testmap"
 
FString LargeMapTilePath = "/Game/Carla/Maps/testmap"
 

Protected Member Functions

virtual void BeginPlay () override
 
void CheckActiveActors ()
 
void CheckDormantActors ()
 
void CheckIfRebaseIsNeeded ()
 
void ConvertActiveToDormantActors ()
 
void ConvertDormantToActiveActors ()
 
void DumpTilesTable () const
 
FString GenerateTileName (TileID TileID)
 
FCarlaMapTileGetCarlaMapTile (FVector Location)
 
FCarlaMapTileGetCarlaMapTile (ULevel *InLevel)
 
FCarlaMapTileGetCarlaMapTile (FIntVector TileVectorID)
 
TileID GetTileID (FVector TileLocation) const
 From a given location it retrieves the TileID that covers that area. More...
 
TileID GetTileID (FDVector TileLocation) const
 
TileID GetTileID (FIntVector TileVectorID) const
 
FVector GetTileLocation (TileID TileID) const
 
FVector GetTileLocation (FIntVector TileVectorID) const
 
FDVector GetTileLocationD (TileID TileID) const
 
FDVector GetTileLocationD (FIntVector TileVectorID) const
 
void GetTilesThatNeedToChangeState (const TSet< TileID > &InTilesToConsider, TSet< TileID > &OutTilesToBeVisible, TSet< TileID > &OutTilesToHidde)
 
void GetTilesToConsider (const AActor *ActorToConsider, TSet< TileID > &OutTilesToConsider)
 
FIntVector GetTileVectorID (FVector TileLocation) const
 
FIntVector GetTileVectorID (FDVector TileLocation) const
 
FIntVector GetTileVectorID (TileID TileID) const
 
FCarlaMapTileLoadCarlaMapTile (FString TileMapPath, TileID TileId)
 
void OnLevelAddedToWorld (ULevel *InLevel, UWorld *InWorld)
 
void OnLevelRemovedFromWorld (ULevel *InLevel, UWorld *InWorld)
 
void PostWorldOriginOffset (UWorld *InWorld, FIntVector InSrcOrigin, FIntVector InDstOrigin)
 
void PreWorldOriginOffset (UWorld *InWorld, FIntVector InSrcOrigin, FIntVector InDstOrigin)
 
void PrintMapInfo ()
 
void RegisterTilesInWorldComposition ()
 
void RemovePendingActorsToRemove ()
 
FString TileIDToString (TileID TileID)
 
void UpdateCurrentTilesLoaded (const TSet< TileID > &InTilesToBeVisible, const TSet< TileID > &InTilesToHidde)
 
void UpdateTilesState ()
 
void UpdateTileState (const TSet< TileID > &InTilesToUpdate, bool InShouldBlockOnLoad, bool InShouldBeLoaded, bool InShouldBeVisible)
 

Protected Attributes

TArray< FCarlaActor::IdTypeActiveActors
 
TSet< FCarlaActor::IdTypeActivesToRemove
 
TSet< FCarlaActor::IdTypeActiveToDormantActors
 
TArray< AActor * > ActorsToConsider
 
TSet< AActor * > ActorsToRemove
 
float ActorStreamingDistance = 2.0f * 1000.0f * 100.0f
 
float ActorStreamingDistanceSquared = ActorStreamingDistance * ActorStreamingDistance
 
FString AssetsPath = ""
 
FString BaseTileMapPath = "/Game/Carla/Maps/LargeMap/EmptyTileBase"
 
bool bPrintErrors = false
 
bool bPrintMapInfo = true
 
const int32 ClientLocMsgIndex = 200
 
FDVector CurrentOriginD
 
FIntVector CurrentOriginInt { 0 }
 
TSet< uint64 > CurrentTilesLoaded
 
TArray< FCarlaActor::IdTypeDormantActors
 
TSet< FCarlaActor::IdTypeDormantsToRemove
 
TSet< FCarlaActor::IdTypeDormantToActiveActors
 
float LayerStreamingDistance = 3.0f * 1000.0f * 100.0f
 
float LayerStreamingDistanceSquared = LayerStreamingDistance * LayerStreamingDistance
 
TMap< uint64, FCarlaMapTileMapTiles
 
const int32 MaxClientLocMsgIndex = ClientLocMsgIndex + 10
 
const int32 MaxTilesDistMsgIndex = TilesDistMsgIndex + 10
 
float MsgTime = 1.0f
 
FColor PositonMsgColor = FColor::Purple
 
float RebaseOriginDistance = 2.0f * 1000.0f * 100.0f
 
float RebaseOriginDistanceSquared = RebaseOriginDistance * RebaseOriginDistance
 
bool ShouldTilesBlockOnLoad = false
 
float TickInterval = 0.0f
 
FVector Tile0Offset = FVector(0,0,0)
 
const int32 TilesDistMsgIndex = 100
 
float TileSide = 2.0f * 1000.0f * 100.0f
 

Detailed Description

Definition at line 61 of file LargeMapManager.h.

Member Typedef Documentation

◆ TileID

using ALargeMapManager::TileID = uint64

Definition at line 67 of file LargeMapManager.h.

Constructor & Destructor Documentation

◆ ALargeMapManager()

ALargeMapManager::ALargeMapManager ( )

Definition at line 26 of file LargeMapManager.cpp.

◆ ~ALargeMapManager()

ALargeMapManager::~ALargeMapManager ( )

Remove delegates

Definition at line 32 of file LargeMapManager.cpp.

Member Function Documentation

◆ AddActorToUnloadedList()

void ALargeMapManager::AddActorToUnloadedList ( const FCarlaActor CarlaActor,
const FTransform &  Transform 
)

Definition at line 427 of file LargeMapManager.cpp.

◆ BeginPlay()

void ALargeMapManager::BeginPlay ( )
overrideprotectedvirtual

Setup delegates

Definition at line 45 of file LargeMapManager.cpp.

References ActorStreamingDistance, ActorStreamingDistanceSquared, LayerStreamingDistance, LayerStreamingDistanceSquared, OnLevelAddedToWorld(), OnLevelRemovedFromWorld(), PostWorldOriginOffset(), PreWorldOriginOffset(), RebaseOriginDistance, RebaseOriginDistanceSquared, and RegisterTilesInWorldComposition().

+ Here is the call graph for this function:

◆ CheckActiveActors()

void ALargeMapManager::CheckActiveActors ( )
protected

Definition at line 686 of file LargeMapManager.cpp.

References ActiveActors, ActivesToRemove, ActiveToDormantActors, ActorsToConsider, ActorStreamingDistanceSquared, CurrentOriginD, UCarlaEpisode::FindCarlaActor(), FCarlaActor::GetActor(), UCarlaStatics::GetCurrentEpisode(), IsTileLoaded(), and LM_LOG.

Referenced by Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckDormantActors()

void ALargeMapManager::CheckDormantActors ( )
protected

Definition at line 753 of file LargeMapManager.cpp.

References ActorsToConsider, ActorStreamingDistanceSquared, CurrentOriginD, DormantActors, DormantsToRemove, DormantToActiveActors, UCarlaEpisode::FindCarlaActor(), FCarlaActor::GetActorData(), FCarlaActor::GetActorId(), UCarlaStatics::GetCurrentEpisode(), FCarlaActor::IsDormant(), IsTileLoaded(), LM_LOG, and FActorData::Location.

Referenced by Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckIfRebaseIsNeeded()

void ALargeMapManager::CheckIfRebaseIsNeeded ( )
protected

Definition at line 836 of file LargeMapManager.cpp.

References ActorsToConsider, CurrentOriginD, GetTileID(), GetTileLocation(), IsValid(), and RebaseOriginDistance.

Referenced by OnActorSpawned(), and Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ClearWorldAndTiles()

void ALargeMapManager::ClearWorldAndTiles ( )

Definition at line 405 of file LargeMapManager.cpp.

References MapTiles.

Referenced by GenerateMap().

+ Here is the caller graph for this function:

◆ ConvertActiveToDormantActors()

void ALargeMapManager::ConvertActiveToDormantActors ( )
protected

Definition at line 731 of file LargeMapManager.cpp.

References ActiveToDormantActors, DormantActors, UCarlaStatics::GetCurrentEpisode(), LM_LOG, and UCarlaEpisode::PutActorToSleep().

Referenced by Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConvertDormantToActiveActors()

void ALargeMapManager::ConvertDormantToActiveActors ( )
protected

Definition at line 805 of file LargeMapManager.cpp.

References ActiveActors, CurrentOriginD, DormantActors, DormantToActiveActors, UCarlaEpisode::FindCarlaActor(), FCarlaActor::GetActor(), UCarlaStatics::GetCurrentEpisode(), FCarlaActor::IsActive(), LM_LOG, FDVector::ToString(), and UCarlaEpisode::WakeActorUp().

Referenced by Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DumpTilesTable()

void ALargeMapManager::DumpTilesTable ( ) const
protected

Definition at line 961 of file LargeMapManager.cpp.

References AssetsPath, carla::client::detail::Get(), FCarlaMapTile::Location, MapTiles, and FCarlaMapTile::Name.

Referenced by GenerateMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenerateLargeMap()

void ALargeMapManager::GenerateLargeMap ( )

Definition at line 318 of file LargeMapManager.cpp.

References GenerateMap(), and LargeMapTilePath.

Referenced by ACarlaGameModeBase::InitGame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenerateMap() [1/2]

void ALargeMapManager::GenerateMap ( FString  InAssetsPath)

Retrive all the assets in the path

Generate tiles based on mesh positions

Definition at line 322 of file LargeMapManager.cpp.

References ActorsToConsider, AssetsPath, ClearWorldAndTiles(), DumpTilesTable(), GetTileID(), LM_LOG, LoadCarlaMapTile(), and MapTiles.

Referenced by GenerateLargeMap(), and GenerateMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GenerateMap() [2/2]

void ALargeMapManager::GenerateMap ( TArray< TPair< FString, FIntVector >>  MapPathsIds)

Definition at line 386 of file LargeMapManager.cpp.

References ClearWorldAndTiles(), GenerateMap(), GetTileID(), LM_LOG, LoadCarlaMapTile(), and MapTiles.

+ Here is the call graph for this function:

◆ GenerateMap_Editor()

void ALargeMapManager::GenerateMap_Editor ( )
inline

Definition at line 108 of file LargeMapManager.h.

◆ GenerateTileName()

FString ALargeMapManager::GenerateTileName ( TileID  TileID)
protected

Definition at line 947 of file LargeMapManager.cpp.

◆ GetActorStreamingDistance()

float ALargeMapManager::GetActorStreamingDistance ( ) const

Definition at line 256 of file LargeMapManager.cpp.

References ActorStreamingDistance.

Referenced by FCarlaEngine::NotifyBeginEpisode().

+ Here is the caller graph for this function:

◆ GetCarlaMapTile() [1/3]

FCarlaMapTile& ALargeMapManager::GetCarlaMapTile ( FVector  Location)
protected

Referenced by OnLevelRemovedFromWorld().

+ Here is the caller graph for this function:

◆ GetCarlaMapTile() [2/3]

FCarlaMapTile & ALargeMapManager::GetCarlaMapTile ( ULevel *  InLevel)
protected

Definition at line 541 of file LargeMapManager.cpp.

References MapTiles, and FCarlaMapTile::StreamingLevel.

◆ GetCarlaMapTile() [3/3]

FCarlaMapTile * ALargeMapManager::GetCarlaMapTile ( FIntVector  TileVectorID)
protected

Definition at line 558 of file LargeMapManager.cpp.

References GetTileID(), and MapTiles.

+ Here is the call graph for this function:

◆ GetLayerStreamingDistance()

float ALargeMapManager::GetLayerStreamingDistance ( ) const

Definition at line 251 of file LargeMapManager.cpp.

References LayerStreamingDistance.

Referenced by FCarlaEngine::NotifyBeginEpisode().

+ Here is the caller graph for this function:

◆ GetNumTiles()

int ALargeMapManager::GetNumTiles ( ) const
inline

Definition at line 119 of file LargeMapManager.h.

Referenced by ACarlaGameModeBase::InitGame().

+ Here is the caller graph for this function:

◆ GetNumTilesInXY()

FIntVector ALargeMapManager::GetNumTilesInXY ( ) const

Definition at line 432 of file LargeMapManager.cpp.

References GetTileVectorID(), and MapTiles.

+ Here is the call graph for this function:

◆ GetTileID() [1/3]

ALargeMapManager::TileID ALargeMapManager::GetTileID ( FVector  TileLocation) const
protected

From a given location it retrieves the TileID that covers that area.

Definition at line 529 of file LargeMapManager.cpp.

References GetTileVectorID().

Referenced by CheckIfRebaseIsNeeded(), GenerateMap(), GetCarlaMapTile(), GetTileID(), GetTilesToConsider(), and IsLevelOfTileLoaded().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTileID() [2/3]

ALargeMapManager::TileID ALargeMapManager::GetTileID ( FDVector  TileLocation) const
protected

Definition at line 535 of file LargeMapManager.cpp.

References GetTileID(), and GetTileVectorID().

+ Here is the call graph for this function:

◆ GetTileID() [3/3]

ALargeMapManager::TileID ALargeMapManager::GetTileID ( FIntVector  TileVectorID) const
protected

Definition at line 522 of file LargeMapManager.cpp.

◆ GetTileLocation() [1/2]

FVector ALargeMapManager::GetTileLocation ( TileID  TileID) const
protected

Definition at line 498 of file LargeMapManager.cpp.

References GetTileVectorID().

Referenced by CheckIfRebaseIsNeeded(), and LoadCarlaMapTile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTileLocation() [2/2]

FVector ALargeMapManager::GetTileLocation ( FIntVector  TileVectorID) const
protected

Definition at line 504 of file LargeMapManager.cpp.

References Tile0Offset, and TileSide.

◆ GetTileLocationD() [1/2]

FDVector ALargeMapManager::GetTileLocationD ( TileID  TileID) const
protected

Definition at line 510 of file LargeMapManager.cpp.

References GetTileVectorID().

+ Here is the call graph for this function:

◆ GetTileLocationD() [2/2]

FDVector ALargeMapManager::GetTileLocationD ( FIntVector  TileVectorID) const
protected

Definition at line 516 of file LargeMapManager.cpp.

References Tile0Offset, TileSide, and FDVector::Y.

◆ GetTilesThatNeedToChangeState()

void ALargeMapManager::GetTilesThatNeedToChangeState ( const TSet< TileID > &  InTilesToConsider,
TSet< TileID > &  OutTilesToBeVisible,
TSet< TileID > &  OutTilesToHidde 
)
protected

Definition at line 899 of file LargeMapManager.cpp.

References CurrentTilesLoaded.

Referenced by UpdateTilesState().

+ Here is the caller graph for this function:

◆ GetTilesToConsider()

void ALargeMapManager::GetTilesToConsider ( const AActor ActorToConsider,
TSet< TileID > &  OutTilesToConsider 
)
protected

Definition at line 862 of file LargeMapManager.cpp.

References CurrentOriginD, GetTileID(), GetTileVectorID(), LayerStreamingDistance, and MapTiles.

Referenced by UpdateTilesState().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTileVectorID() [1/3]

FIntVector ALargeMapManager::GetTileVectorID ( FVector  TileLocation) const
protected

Definition at line 469 of file LargeMapManager.cpp.

References Tile0Offset, and TileSide.

Referenced by GetNumTilesInXY(), GetTileID(), GetTileLocation(), GetTileLocationD(), GetTilesToConsider(), and LoadCarlaMapTile().

+ Here is the caller graph for this function:

◆ GetTileVectorID() [2/3]

FIntVector ALargeMapManager::GetTileVectorID ( FDVector  TileLocation) const
protected

Definition at line 479 of file LargeMapManager.cpp.

References Tile0Offset, and TileSide.

◆ GetTileVectorID() [3/3]

FIntVector ALargeMapManager::GetTileVectorID ( TileID  TileID) const
protected

Definition at line 489 of file LargeMapManager.cpp.

◆ GlobalToLocalLocation()

FVector ALargeMapManager::GlobalToLocalLocation ( const FVector &  InLocation) const

Definition at line 269 of file LargeMapManager.cpp.

References CurrentOriginD, and FDVector::ToFVector().

Referenced by FCarlaServer::FPimpl::BindActions(), FCarlaActor::GetActorLocalLocation(), FShapeVisitor::operator()(), and FCarlaActor::SetActorGlobalLocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GlobalToLocalTransform()

FTransform ALargeMapManager::GlobalToLocalTransform ( const FTransform &  InTransform) const

Definition at line 261 of file LargeMapManager.cpp.

References CurrentOriginD, and FDVector::ToFVector().

Referenced by FShapeVisitor::operator()(), FCarlaActor::SetActorGlobalTransform(), and UCarlaEpisode::SpawnActorWithInfo().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsLevelOfTileLoaded()

bool ALargeMapManager::IsLevelOfTileLoaded ( FIntVector  InTileID) const

Definition at line 450 of file LargeMapManager.cpp.

References bPrintErrors, GetTileID(), LM_LOG, MapTiles, and FCarlaMapTile::StreamingLevel.

+ Here is the call graph for this function:

◆ IsTileLoaded() [1/3]

bool ALargeMapManager::IsTileLoaded ( TileID  TileId) const
inline

Definition at line 127 of file LargeMapManager.h.

Referenced by CheckActiveActors(), and CheckDormantActors().

+ Here is the caller graph for this function:

◆ IsTileLoaded() [2/3]

bool ALargeMapManager::IsTileLoaded ( FVector  Location) const
inline

Definition at line 132 of file LargeMapManager.h.

◆ IsTileLoaded() [3/3]

bool ALargeMapManager::IsTileLoaded ( FDVector  Location) const
inline

Definition at line 137 of file LargeMapManager.h.

◆ LoadCarlaMapTile()

FCarlaMapTile & ALargeMapManager::LoadCarlaMapTile ( FString  TileMapPath,
TileID  TileId 
)
protected

Definition at line 565 of file LargeMapManager.cpp.

References GetTileLocation(), GetTileVectorID(), LM_LOG, FCarlaMapTile::Location, MapTiles, FCarlaMapTile::Name, ShouldTilesBlockOnLoad, and FCarlaMapTile::StreamingLevel.

Referenced by GenerateMap().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LocalToGlobalLocation()

FVector ALargeMapManager::LocalToGlobalLocation ( const FVector &  InLocation) const

Definition at line 282 of file LargeMapManager.cpp.

References CurrentOriginD, and FDVector::ToFVector().

Referenced by FCarlaServer::FPimpl::BindActions(), URayTracer::CastRay(), FCarlaActor::GetActorGlobalLocation(), OnActorSpawned(), AGnssSensor::PostPhysTick(), URayTracer::ProjectPoint(), and FCarlaActor::SetActorLocalLocation().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LocalToGlobalTransform()

FTransform ALargeMapManager::LocalToGlobalTransform ( const FTransform &  InTransform) const

Definition at line 274 of file LargeMapManager.cpp.

References CurrentOriginD, and FDVector::ToFVector().

Referenced by FCarlaServer::FPimpl::BindActions(), FCarlaActor::GetActorGlobalTransform(), and FCarlaActor::SetActorLocalTransform().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnActorDestroyed()

void ALargeMapManager::OnActorDestroyed ( AActor DestroyedActor)

Definition at line 212 of file LargeMapManager.cpp.

References UCarlaEpisode::FindCarlaActor(), FCarlaActor::GetActorInfo(), UCarlaStatics::GetCurrentEpisode(), and LM_LOG.

Referenced by OnActorSpawned().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnActorSpawned()

void ALargeMapManager::OnActorSpawned ( const FCarlaActor CarlaActor)

Definition at line 139 of file LargeMapManager.cpp.

References ActiveActors, ActorsToConsider, CheckIfRebaseIsNeeded(), FActorInfo::Description, DormantActors, FCarlaActor::GetActor(), FCarlaActor::GetActorId(), FCarlaActor::GetActorInfo(), UCarlaEpisode::GetActorRegistry(), FCarlaActor::GetActorType(), UCarlaStatics::GetCurrentEpisode(), IsValid(), LM_LOG, LocalToGlobalLocation(), OnActorDestroyed(), UpdateTilesState(), FActorAttribute::Value, FActorDescription::Variations, and FCarlaActor::Vehicle.

Referenced by FCarlaServer::FPimpl::BindActions(), RegisterInitialObjects(), and CarlaReplayerHelper::TryToCreateReplayerActor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnLevelAddedToWorld()

void ALargeMapManager::OnLevelAddedToWorld ( ULevel *  InLevel,
UWorld *  InWorld 
)
protected

Definition at line 108 of file LargeMapManager.cpp.

References LM_LOG, and ATagger::TagActorsInLevel().

Referenced by BeginPlay().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OnLevelRemovedFromWorld()

void ALargeMapManager::OnLevelRemovedFromWorld ( ULevel *  InLevel,
UWorld *  InWorld 
)
protected

Definition at line 115 of file LargeMapManager.cpp.

References GetCarlaMapTile(), LM_LOG, and FCarlaMapTile::TilesSpawned.

Referenced by BeginPlay().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PostWorldOriginOffset()

void ALargeMapManager::PostWorldOriginOffset ( UWorld *  InWorld,
FIntVector  InSrcOrigin,
FIntVector  InDstOrigin 
)
protected

Definition at line 74 of file LargeMapManager.cpp.

References CurrentOriginD, CurrentOriginInt, UCarlaStatics::GetCurrentEpisode(), LM_LOG, FCarlaMapTile::Location, MapTiles, MsgTime, PositonMsgColor, UCarlaEpisode::SetCurrentMapOrigin(), and FCarlaMapTile::StreamingLevel.

Referenced by BeginPlay().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PreWorldOriginOffset()

void ALargeMapManager::PreWorldOriginOffset ( UWorld *  InWorld,
FIntVector  InSrcOrigin,
FIntVector  InDstOrigin 
)
protected

Definition at line 69 of file LargeMapManager.cpp.

References LM_LOG.

Referenced by BeginPlay().

+ Here is the caller graph for this function:

◆ PrintMapInfo()

void ALargeMapManager::PrintMapInfo ( )
protected

Definition at line 988 of file LargeMapManager.cpp.

References ActiveActors, ActorsToConsider, ClientLocMsgIndex, CurrentOriginD, CurrentOriginInt, CurrentTilesLoaded, FDVector::Dist(), DormantActors, IsValid(), FCarlaMapTile::Location, MapTiles, MaxClientLocMsgIndex, MaxTilesDistMsgIndex, MsgTime, PositonMsgColor, FCarlaMapTile::StreamingLevel, TileIDToString(), TilesDistMsgIndex, and TileSide.

Referenced by Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterInitialObjects()

void ALargeMapManager::RegisterInitialObjects ( )

Definition at line 123 of file LargeMapManager.cpp.

References UCarlaEpisode::GetActorRegistry(), UCarlaStatics::GetCurrentEpisode(), and OnActorSpawned().

Referenced by ACarlaGameModeBase::BeginPlay().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ RegisterTilesInWorldComposition()

void ALargeMapManager::RegisterTilesInWorldComposition ( )
protected

Definition at line 410 of file LargeMapManager.cpp.

References MapTiles.

Referenced by BeginPlay().

+ Here is the caller graph for this function:

◆ RemovePendingActorsToRemove()

void ALargeMapManager::RemovePendingActorsToRemove ( )
protected

Definition at line 658 of file LargeMapManager.cpp.

References ActiveActors, ActivesToRemove, ActorsToConsider, ActorsToRemove, DormantActors, DormantsToRemove, and LM_LOG.

Referenced by Tick().

+ Here is the caller graph for this function:

◆ SetActorStreamingDistance()

void ALargeMapManager::SetActorStreamingDistance ( float  Distance)

Definition at line 244 of file LargeMapManager.cpp.

References ActorStreamingDistance, and ActorStreamingDistanceSquared.

Referenced by FCarlaEngine::OnEpisodeSettingsChanged().

+ Here is the caller graph for this function:

◆ SetLayerStreamingDistance()

void ALargeMapManager::SetLayerStreamingDistance ( float  Distance)

Definition at line 237 of file LargeMapManager.cpp.

References LayerStreamingDistance, and LayerStreamingDistanceSquared.

Referenced by FCarlaEngine::OnEpisodeSettingsChanged().

+ Here is the caller graph for this function:

◆ SetTile0Offset()

void ALargeMapManager::SetTile0Offset ( const FVector &  Offset)

Definition at line 227 of file LargeMapManager.cpp.

References Tile0Offset.

◆ SetTileSize()

void ALargeMapManager::SetTileSize ( float  Size)

Definition at line 232 of file LargeMapManager.cpp.

References TileSide.

◆ Tick()

void ALargeMapManager::Tick ( float  DeltaTime)
override

Definition at line 289 of file LargeMapManager.cpp.

References bPrintMapInfo, CheckActiveActors(), CheckDormantActors(), CheckIfRebaseIsNeeded(), ConvertActiveToDormantActors(), ConvertDormantToActiveActors(), PrintMapInfo(), RemovePendingActorsToRemove(), and UpdateTilesState().

+ Here is the call graph for this function:

◆ TileIDToString()

FString ALargeMapManager::TileIDToString ( TileID  TileID)
protected

Definition at line 954 of file LargeMapManager.cpp.

Referenced by PrintMapInfo().

+ Here is the caller graph for this function:

◆ UpdateCurrentTilesLoaded()

void ALargeMapManager::UpdateCurrentTilesLoaded ( const TSet< TileID > &  InTilesToBeVisible,
const TSet< TileID > &  InTilesToHidde 
)
protected

Definition at line 931 of file LargeMapManager.cpp.

References CurrentTilesLoaded.

Referenced by UpdateTilesState().

+ Here is the caller graph for this function:

◆ UpdateTilesState()

void ALargeMapManager::UpdateTilesState ( )
protected

Definition at line 627 of file LargeMapManager.cpp.

References ActorsToConsider, ActorsToRemove, GetTilesThatNeedToChangeState(), GetTilesToConsider(), IsValid(), UpdateCurrentTilesLoaded(), and UpdateTileState().

Referenced by OnActorSpawned(), and Tick().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateTileState()

void ALargeMapManager::UpdateTileState ( const TSet< TileID > &  InTilesToUpdate,
bool  InShouldBlockOnLoad,
bool  InShouldBeLoaded,
bool  InShouldBeVisible 
)
protected

Definition at line 909 of file LargeMapManager.cpp.

References MapTiles, and FCarlaMapTile::StreamingLevel.

Referenced by UpdateTilesState().

+ Here is the caller graph for this function:

Member Data Documentation

◆ ActiveActors

TArray<FCarlaActor::IdType> ALargeMapManager::ActiveActors
protected

◆ ActivesToRemove

TSet<FCarlaActor::IdType> ALargeMapManager::ActivesToRemove
protected

Definition at line 251 of file LargeMapManager.h.

Referenced by CheckActiveActors(), and RemovePendingActorsToRemove().

◆ ActiveToDormantActors

TSet<FCarlaActor::IdType> ALargeMapManager::ActiveToDormantActors
protected

Definition at line 255 of file LargeMapManager.h.

Referenced by CheckActiveActors(), and ConvertActiveToDormantActors().

◆ ActorsToConsider

TArray<AActor*> ALargeMapManager::ActorsToConsider
protected

◆ ActorsToRemove

TSet<AActor*> ALargeMapManager::ActorsToRemove
protected

Definition at line 250 of file LargeMapManager.h.

Referenced by RemovePendingActorsToRemove(), and UpdateTilesState().

◆ ActorStreamingDistance

float ALargeMapManager::ActorStreamingDistance = 2.0f * 1000.0f * 100.0f
protected

◆ ActorStreamingDistanceSquared

float ALargeMapManager::ActorStreamingDistanceSquared = ActorStreamingDistance * ActorStreamingDistance
protected

◆ AssetsPath

FString ALargeMapManager::AssetsPath = ""
protected

Definition at line 304 of file LargeMapManager.h.

Referenced by DumpTilesTable(), and GenerateMap().

◆ BaseTileMapPath

FString ALargeMapManager::BaseTileMapPath = "/Game/Carla/Maps/LargeMap/EmptyTileBase"
protected

Definition at line 306 of file LargeMapManager.h.

◆ bPrintErrors

bool ALargeMapManager::bPrintErrors = false
protected

Definition at line 323 of file LargeMapManager.h.

Referenced by IsLevelOfTileLoaded().

◆ bPrintMapInfo

bool ALargeMapManager::bPrintMapInfo = true
protected

Definition at line 320 of file LargeMapManager.h.

Referenced by Tick().

◆ ClientLocMsgIndex

const int32 ALargeMapManager::ClientLocMsgIndex = 200
protected

Definition at line 313 of file LargeMapManager.h.

Referenced by PrintMapInfo().

◆ CurrentOriginD

FDVector ALargeMapManager::CurrentOriginD
protected

◆ CurrentOriginInt

FIntVector ALargeMapManager::CurrentOriginInt { 0 }
protected

Definition at line 263 of file LargeMapManager.h.

Referenced by PostWorldOriginOffset(), and PrintMapInfo().

◆ CurrentTilesLoaded

TSet<uint64> ALargeMapManager::CurrentTilesLoaded
protected

◆ DormantActors

TArray<FCarlaActor::IdType> ALargeMapManager::DormantActors
protected

◆ DormantsToRemove

TSet<FCarlaActor::IdType> ALargeMapManager::DormantsToRemove
protected

Definition at line 252 of file LargeMapManager.h.

Referenced by CheckDormantActors(), and RemovePendingActorsToRemove().

◆ DormantToActiveActors

TSet<FCarlaActor::IdType> ALargeMapManager::DormantToActiveActors
protected

Definition at line 256 of file LargeMapManager.h.

Referenced by CheckDormantActors(), and ConvertDormantToActiveActors().

◆ LargeMapName

FString ALargeMapManager::LargeMapName = "testmap"

Definition at line 151 of file LargeMapManager.h.

Referenced by ACarlaGameModeBase::InitGame().

◆ LargeMapTilePath

FString ALargeMapManager::LargeMapTilePath = "/Game/Carla/Maps/testmap"

Definition at line 149 of file LargeMapManager.h.

Referenced by GenerateLargeMap().

◆ LayerStreamingDistance

float ALargeMapManager::LayerStreamingDistance = 3.0f * 1000.0f * 100.0f
protected

◆ LayerStreamingDistanceSquared

float ALargeMapManager::LayerStreamingDistanceSquared = LayerStreamingDistance * LayerStreamingDistance
protected

Definition at line 282 of file LargeMapManager.h.

Referenced by BeginPlay(), and SetLayerStreamingDistance().

◆ MapTiles

TMap<uint64, FCarlaMapTile> ALargeMapManager::MapTiles
protected

◆ MaxClientLocMsgIndex

const int32 ALargeMapManager::MaxClientLocMsgIndex = ClientLocMsgIndex + 10
protected

Definition at line 314 of file LargeMapManager.h.

Referenced by PrintMapInfo().

◆ MaxTilesDistMsgIndex

const int32 ALargeMapManager::MaxTilesDistMsgIndex = TilesDistMsgIndex + 10
protected

Definition at line 311 of file LargeMapManager.h.

Referenced by PrintMapInfo().

◆ MsgTime

float ALargeMapManager::MsgTime = 1.0f
protected

Definition at line 317 of file LargeMapManager.h.

Referenced by PostWorldOriginOffset(), and PrintMapInfo().

◆ PositonMsgColor

FColor ALargeMapManager::PositonMsgColor = FColor::Purple
protected

Definition at line 308 of file LargeMapManager.h.

Referenced by PostWorldOriginOffset(), and PrintMapInfo().

◆ RebaseOriginDistance

float ALargeMapManager::RebaseOriginDistance = 2.0f * 1000.0f * 100.0f
protected

Definition at line 280 of file LargeMapManager.h.

Referenced by BeginPlay(), and CheckIfRebaseIsNeeded().

◆ RebaseOriginDistanceSquared

float ALargeMapManager::RebaseOriginDistanceSquared = RebaseOriginDistance * RebaseOriginDistance
protected

Definition at line 284 of file LargeMapManager.h.

Referenced by BeginPlay().

◆ ShouldTilesBlockOnLoad

bool ALargeMapManager::ShouldTilesBlockOnLoad = false
protected

Definition at line 290 of file LargeMapManager.h.

Referenced by LoadCarlaMapTile().

◆ TickInterval

float ALargeMapManager::TickInterval = 0.0f
protected

Definition at line 271 of file LargeMapManager.h.

◆ Tile0Offset

FVector ALargeMapManager::Tile0Offset = FVector(0,0,0)
protected

◆ TilesDistMsgIndex

const int32 ALargeMapManager::TilesDistMsgIndex = 100
protected

Definition at line 310 of file LargeMapManager.h.

Referenced by PrintMapInfo().

◆ TileSide

float ALargeMapManager::TileSide = 2.0f * 1000.0f * 100.0f
protected

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