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

#include <VegetationManager.h>

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

Public 成员函数

void AddVehicle (ACarlaWheeledVehicle *Vehicle)
 
void RemoveVehicle (ACarlaWheeledVehicle *Vehicle)
 
void UpdatePoolBasePosition ()
 

Public 属性

float ActiveActorDistance {500.0f}
 
bool DebugMaterials {false}
 
float HideMaterialDistance {500.0f}
 
int32 InitialPoolSize {10}
 
bool SpawnBushes {true}
 
bool SpawnPlants {true}
 
bool SpawnRocks {true}
 
float SpawnScale {1.0f}
 
bool SpawnTrees {true}
 

Overriden from AActor

float PoolTranslationTimer {30.0f}
 
FTransform InactivePoolTransform { FQuat(1.0f, 1.0f, 1.0f, 1.0f), FVector(1.0f, 1.0f, 1.0f), FVector(1.0f, 1.0f, 1.0f)}
 
ALargeMapManagerLargeMap {nullptr}
 
ACarlaWheeledVehicleHeroVehicle {nullptr}
 
TMap< FString, FFoliageBlueprintFoliageBlueprintCache {}
 
TMap< FString, FTileDataTileCache {}
 
TMap< FString, TArray< FPooledActor > > ActorPool {}
 
FTimerHandle UpdatePoolInactiveTransformTimer
 
virtual void BeginPlay () override
 
virtual void Tick (float DeltaTime) override
 
bool IsFoliageTypeEnabled (const FString &Path) const
 
bool CheckForNewTiles () const
 
TArray< FString > GetTilesInUse ()
 
void UpdateMaterials (FTileData *Tile)
 
TArray< FElementsToSpawnGetElementsToSpawn (FTileData *Tile)
 
void SpawnSkeletalFoliages (TArray< FElementsToSpawn > &ElementsToSpawn)
 
void DestroySkeletalFoliages ()
 
void ActivePooledActors ()
 
bool EnableActorFromPool (const FTransform &Transform, int32 Index, std::shared_ptr< FTileMeshComponent > &TileMeshComponent, TArray< FPooledActor > &Pool)
 
void CreateOrUpdateTileCache (ULevel *InLevel)
 
void UpdateFoliageBlueprintCache (ULevel *InLevel)
 
void SetTileDataInternals (FTileData &TileData)
 
void SetInstancedStaticMeshComponentCache (FTileData &TileData)
 
void SetMaterialCache (FTileData &TileData)
 
void FreeTileCache (ULevel *InLevel)
 
void OnLevelAddedToWorld (ULevel *InLevel, UWorld *InWorld)
 
void OnLevelRemovedFromWorld (ULevel *InLevel, UWorld *InWorld)
 
void PostWorldOriginOffset (UWorld *, FIntVector, FIntVector InDstOrigin)
 
void CreatePoolForBPClass (const FFoliageBlueprint &BP)
 
AActorCreateFoliage (const FFoliageBlueprint &BP, const FTransform &Transform) const
 
void GetSketalTemplates ()
 

详细描述

在文件 VegetationManager.h89 行定义.

成员函数说明

◆ ActivePooledActors()

void AVegetationManager::ActivePooledActors ( )
private

在文件 VegetationManager.cpp591 行定义.

引用了 ActiveActorDistance, ActivePooledActors(), ActorPool , 以及 HeroVehicle.

被这些函数引用 ActivePooledActors() , 以及 Tick().

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

◆ AddVehicle()

void AVegetationManager::AddVehicle ( ACarlaWheeledVehicle * Vehicle)

在文件 VegetationManager.cpp279 行定义.

引用了 AddVehicle(), HeroVehicle, IsValid() , 以及 Vehicle.

被这些函数引用 ACarlaWheeledVehicle::AddReferenceToManager() , 以及 AddVehicle().

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

◆ BeginPlay()

void AVegetationManager::BeginPlay ( )
overrideprotectedvirtual

在文件 VegetationManager.cpp231 行定义.

引用了 BeginPlay(), UCarlaStatics::GetLargeMapManager(), LargeMap, OnLevelAddedToWorld(), OnLevelRemovedFromWorld() , 以及 PostWorldOriginOffset().

被这些函数引用 BeginPlay().

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

◆ CheckForNewTiles()

bool AVegetationManager::CheckForNewTiles ( ) const
private

在文件 VegetationManager.cpp771 行定义.

引用了 CheckForNewTiles(), IsValid() , 以及 TileCache.

被这些函数引用 CheckForNewTiles().

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

◆ CreateFoliage()

AActor * AVegetationManager::CreateFoliage ( const FFoliageBlueprint & BP,
const FTransform & Transform ) const
private

在文件 VegetationManager.cpp691 行定义.

引用了 CreateFoliage(), FFoliageBlueprint::SpawnedClass , 以及 SpawnScale.

被这些函数引用 CreateFoliage(), CreatePoolForBPClass() , 以及 SpawnSkeletalFoliages().

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

◆ CreateOrUpdateTileCache()

void AVegetationManager::CreateOrUpdateTileCache ( ULevel * InLevel)
private

在文件 VegetationManager.cpp300 行定义.

引用了 CreateOrUpdateTileCache(), FTileData::InstancedFoliageActor, IsValid(), FTileData::MaterialInstanceDynamicCache, FTileData::ProceduralFoliageVolume, SetTileDataInternals(), TileCache , 以及 FTileData::TileMeshesCache.

被这些函数引用 CreateOrUpdateTileCache() , 以及 OnLevelAddedToWorld().

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

◆ CreatePoolForBPClass()

void AVegetationManager::CreatePoolForBPClass ( const FFoliageBlueprint & BP)
private

在文件 VegetationManager.cpp666 行定义.

引用了 FPooledActor::Actor, ActorPool, FFoliageBlueprint::BPFullClassName, CreateFoliage(), CreatePoolForBPClass(), FPooledActor::DisableActor(), InitialPoolSize , 以及 IsValid().

被这些函数引用 CreatePoolForBPClass() , 以及 UpdateFoliageBlueprintCache().

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

◆ DestroySkeletalFoliages()

void AVegetationManager::DestroySkeletalFoliages ( )
private

在文件 VegetationManager.cpp617 行定义.

引用了 ActorPool, DestroySkeletalFoliages(), ACarlaWheeledVehicle::GetDetectionSize() , 以及 HeroVehicle.

被这些函数引用 DestroySkeletalFoliages() , 以及 Tick().

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

◆ EnableActorFromPool()

bool AVegetationManager::EnableActorFromPool ( const FTransform & Transform,
int32 Index,
std::shared_ptr< FTileMeshComponent > & TileMeshComponent,
TArray< FPooledActor > & Pool )
private

在文件 VegetationManager.cpp641 行定义.

引用了 EnableActorFromPool() , 以及 SpawnScale.

被这些函数引用 EnableActorFromPool() , 以及 SpawnSkeletalFoliages().

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

◆ FreeTileCache()

void AVegetationManager::FreeTileCache ( ULevel * InLevel)
private

在文件 VegetationManager.cpp450 行定义.

引用了 FTileData::InstancedFoliageActor, IsValid(), FTileData::MaterialInstanceDynamicCache, FTileData::ProceduralFoliageVolume, TileCache , 以及 FTileData::TileMeshesCache.

被这些函数引用 OnLevelRemovedFromWorld().

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

◆ GetElementsToSpawn()

TArray< FElementsToSpawn > AVegetationManager::GetElementsToSpawn ( FTileData * Tile)
private

在文件 VegetationManager.cpp498 行定义.

引用了 FoliageBlueprintCache, GetElementsToSpawn(), ACarlaWheeledVehicle::GetFoliageInstancesCloseToVehicle(), HeroVehicle, FTileMeshComponent::IndicesInUse, FTileMeshComponent::InstancedStaticMeshComponent, FElementsToSpawn::TileMeshComponent , 以及 FTileData::TileMeshesCache.

被这些函数引用 GetElementsToSpawn() , 以及 Tick().

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

◆ GetSketalTemplates()

void AVegetationManager::GetSketalTemplates ( )
private

◆ GetTilesInUse()

TArray< FString > AVegetationManager::GetTilesInUse ( )
private

在文件 VegetationManager.cpp789 行定义.

引用了 GetTilesInUse(), HeroVehicle, FTileData::InstancedFoliageActor, IsValid(), FTileData::ProceduralFoliageVolume , 以及 TileCache.

被这些函数引用 GetTilesInUse() , 以及 Tick().

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

◆ IsFoliageTypeEnabled()

bool AVegetationManager::IsFoliageTypeEnabled ( const FString & Path) const
private

在文件 VegetationManager.cpp753 行定义.

引用了 IsFoliageTypeEnabled(), SpawnBushes, SpawnPlants, SpawnRocks , 以及 SpawnTrees.

被这些函数引用 IsFoliageTypeEnabled() , 以及 UpdateFoliageBlueprintCache().

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

◆ OnLevelAddedToWorld()

void AVegetationManager::OnLevelAddedToWorld ( ULevel * InLevel,
UWorld * InWorld )
private

在文件 VegetationManager.cpp730 行定义.

引用了 CreateOrUpdateTileCache(), OnLevelAddedToWorld() , 以及 UpdateFoliageBlueprintCache().

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

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

◆ OnLevelRemovedFromWorld()

void AVegetationManager::OnLevelRemovedFromWorld ( ULevel * InLevel,
UWorld * InWorld )
private

在文件 VegetationManager.cpp737 行定义.

引用了 FreeTileCache() , 以及 OnLevelRemovedFromWorld().

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

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

◆ PostWorldOriginOffset()

void AVegetationManager::PostWorldOriginOffset ( UWorld * ,
FIntVector ,
FIntVector InDstOrigin )
private

在文件 VegetationManager.cpp743 行定义.

引用了 InactivePoolTransform, PostWorldOriginOffset() , 以及 UpdatePoolBasePosition().

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

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

◆ RemoveVehicle()

void AVegetationManager::RemoveVehicle ( ACarlaWheeledVehicle * Vehicle)

在文件 VegetationManager.cpp288 行定义.

引用了 HeroVehicle, IsValid(), RemoveVehicle() , 以及 Vehicle.

被这些函数引用 ACarlaWheeledVehicle::RemoveReferenceToManager() , 以及 RemoveVehicle().

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

◆ SetInstancedStaticMeshComponentCache()

void AVegetationManager::SetInstancedStaticMeshComponentCache ( FTileData & TileData)
private

在文件 VegetationManager.cpp350 行定义.

引用了 FTileData::ContainsMesh(), FoliageBlueprintCache, FTileData::InstancedFoliageActor, IsValid(), SetInstancedStaticMeshComponentCache(), FTileData::TileMeshesCache , 以及 FTileData::UpdateTileMeshComponent().

被这些函数引用 SetInstancedStaticMeshComponentCache() , 以及 SetTileDataInternals().

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

◆ SetMaterialCache()

void AVegetationManager::SetMaterialCache ( FTileData & TileData)
private

在文件 VegetationManager.cpp379 行定义.

引用了 HideMaterialDistance, FTileMeshComponent::InstancedStaticMeshComponent, IsValid(), FTileData::MaterialInstanceDynamicCache, SetMaterialCache() , 以及 FTileData::TileMeshesCache.

被这些函数引用 SetMaterialCache() , 以及 SetTileDataInternals().

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

◆ SetTileDataInternals()

void AVegetationManager::SetTileDataInternals ( FTileData & TileData)
private

在文件 VegetationManager.cpp343 行定义.

引用了 SetInstancedStaticMeshComponentCache(), SetMaterialCache() , 以及 SetTileDataInternals().

被这些函数引用 CreateOrUpdateTileCache() , 以及 SetTileDataInternals().

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

◆ SpawnSkeletalFoliages()

void AVegetationManager::SpawnSkeletalFoliages ( TArray< FElementsToSpawn > & ElementsToSpawn)
private

在文件 VegetationManager.cpp543 行定义.

引用了 FPooledActor::Actor, ActorPool, CreateFoliage(), FPooledActor::EnableActor(), EnableActorFromPool(), ACarlaWheeledVehicle::GetDetectionSize(), HeroVehicle, IsValid() , 以及 SpawnSkeletalFoliages().

被这些函数引用 SpawnSkeletalFoliages() , 以及 Tick().

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

◆ Tick()

void AVegetationManager::Tick ( float DeltaTime)
overrideprotectedvirtual

在文件 VegetationManager.cpp241 行定义.

引用了 ActivePooledActors(), DestroySkeletalFoliages(), GetElementsToSpawn(), ALargeMapManager::GetHeroVehicle(), GetTilesInUse(), HeroVehicle, IsValid(), LargeMap, SpawnSkeletalFoliages(), Tick(), TileCache, ACarlaWheeledVehicle::UpdateDetectionBox() , 以及 UpdateMaterials().

被这些函数引用 Tick().

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

◆ UpdateFoliageBlueprintCache()

void AVegetationManager::UpdateFoliageBlueprintCache ( ULevel * InLevel)
private

在文件 VegetationManager.cpp412 行定义.

引用了 FFoliageBlueprint::BPFullClassName, CreatePoolForBPClass(), FoliageBlueprintCache, IsFoliageTypeEnabled(), FFoliageBlueprint::IsValid(), IsValid(), FFoliageBlueprint::SetBPClassName(), FFoliageBlueprint::SetSpawnedClass() , 以及 UpdateFoliageBlueprintCache().

被这些函数引用 OnLevelAddedToWorld() , 以及 UpdateFoliageBlueprintCache().

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

◆ UpdateMaterials()

void AVegetationManager::UpdateMaterials ( FTileData * Tile)
private

在文件 VegetationManager.cpp490 行定义.

引用了 DebugMaterials, HeroVehicle, Position, FTileData::UpdateMaterialCache() , 以及 UpdateMaterials().

被这些函数引用 Tick() , 以及 UpdateMaterials().

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

◆ UpdatePoolBasePosition()

void AVegetationManager::UpdatePoolBasePosition ( )

在文件 VegetationManager.cpp712 行定义.

引用了 ActorPool, InactivePoolTransform , 以及 UpdatePoolBasePosition().

被这些函数引用 PostWorldOriginOffset() , 以及 UpdatePoolBasePosition().

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

类成员变量说明

◆ ActiveActorDistance

float AVegetationManager::ActiveActorDistance {500.0f}

在文件 VegetationManager.h108 行定义.

被这些函数引用 ActivePooledActors().

◆ ActorPool

TMap<FString, TArray<FPooledActor> > AVegetationManager::ActorPool {}
private

◆ DebugMaterials

bool AVegetationManager::DebugMaterials {false}

在文件 VegetationManager.h102 行定义.

被这些函数引用 UpdateMaterials().

◆ FoliageBlueprintCache

TMap<FString, FFoliageBlueprint> AVegetationManager::FoliageBlueprintCache {}
private

◆ HeroVehicle

ACarlaWheeledVehicle* AVegetationManager::HeroVehicle {nullptr}
private

◆ HideMaterialDistance

float AVegetationManager::HideMaterialDistance {500.0f}

在文件 VegetationManager.h105 行定义.

被这些函数引用 SetMaterialCache().

◆ InactivePoolTransform

FTransform AVegetationManager::InactivePoolTransform { FQuat(1.0f, 1.0f, 1.0f, 1.0f), FVector(1.0f, 1.0f, 1.0f), FVector(1.0f, 1.0f, 1.0f)}
private

在文件 VegetationManager.h174 行定义.

被这些函数引用 PostWorldOriginOffset() , 以及 UpdatePoolBasePosition().

◆ InitialPoolSize

int32 AVegetationManager::InitialPoolSize {10}

在文件 VegetationManager.h127 行定义.

被这些函数引用 CreatePoolForBPClass().

◆ LargeMap

ALargeMapManager* AVegetationManager::LargeMap {nullptr}
private

在文件 VegetationManager.h176 行定义.

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

◆ PoolTranslationTimer

float AVegetationManager::PoolTranslationTimer {30.0f}
private

在文件 VegetationManager.h173 行定义.

◆ SpawnBushes

bool AVegetationManager::SpawnBushes {true}

在文件 VegetationManager.h112 行定义.

被这些函数引用 IsFoliageTypeEnabled().

◆ SpawnPlants

bool AVegetationManager::SpawnPlants {true}

在文件 VegetationManager.h121 行定义.

被这些函数引用 IsFoliageTypeEnabled().

◆ SpawnRocks

bool AVegetationManager::SpawnRocks {true}

在文件 VegetationManager.h118 行定义.

被这些函数引用 IsFoliageTypeEnabled().

◆ SpawnScale

float AVegetationManager::SpawnScale {1.0f}

在文件 VegetationManager.h124 行定义.

被这些函数引用 CreateFoliage() , 以及 EnableActorFromPool().

◆ SpawnTrees

bool AVegetationManager::SpawnTrees {true}

在文件 VegetationManager.h115 行定义.

被这些函数引用 IsFoliageTypeEnabled().

◆ TileCache

TMap<FString, FTileData> AVegetationManager::TileCache {}
private

在文件 VegetationManager.h180 行定义.

被这些函数引用 CheckForNewTiles(), CreateOrUpdateTileCache(), FreeTileCache(), GetTilesInUse() , 以及 Tick().

◆ UpdatePoolInactiveTransformTimer

FTimerHandle AVegetationManager::UpdatePoolInactiveTransformTimer
private

在文件 VegetationManager.h184 行定义.


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