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

#include <CustomTerrainPhysicsComponent.h>

+ FSparseHighDetailMap 的协作图:

Public 成员函数

void Clear ()
 
 FSparseHighDetailMap (float ParticleDiameter=0.02f, float Depth=0.4f)
 
float GetHeight (FDVector Position)
 
std::vector< uint64_t > GetIntersectingTiles (const FOrientedBox &OBox)
 
std::vector< uint64_t > GetLoadedTilesInRange (FDVector Position, float Radius)
 
std::vector< FParticle * > GetParticlesInBox (const FOrientedBox &OBox)
 
std::vector< FParticle * > GetParticlesInRadius (FDVector Position, float Radius)
 
std::vector< FParticle * > GetParticlesInTileRadius (FDVector Position, float Radius)
 
FDenseTileGetTile (FDVector Position)
 
FDenseTileGetTile (uint32_t Tile_X, uint32_t Tile_Y)
 
FDenseTileGetTile (uint64_t TileId)
 
uint64_t GetTileId (FDVector Position)
 
uint64_t GetTileId (uint32_t Tile_X, uint32_t Tile_Y)
 
uint64_t GetTileId (uint64_t TileId)
 
std::vector< uint64_t > GetTileIdInCache ()
 
std::vector< uint64_t > GetTileIdInMap ()
 
FDVector GetTilePosition (uint32_t Tile_X, uint32_t Tile_Y)
 
FDVector GetTilePosition (uint64_t TileId)
 
float GetTileSize () const
 
FIntVector GetVectorTileId (FDVector Position)
 
FIntVector GetVectorTileId (uint64_t TileId)
 
void Init (uint32 NewTextureSize, float NewAffectedRadius, float ParticleDiameter, float Depth, float NewFloorHeight)
 
void InitializeMap (UHeightMapDataAsset *DataAsset, FDVector Origin, FDVector MapSize, float Size, float ScaleZ)
 
FDenseTileInitializeRegion (uint32_t Tile_X, uint32_t Tile_Y)
 
FDenseTileInitializeRegion (uint64_t TileId)
 
FDenseTileInitializeRegionInCache (uint64_t TileId)
 
void LockMutex ()
 
void SaveMap ()
 
void UnLockMutex ()
 
void Update (FVector Position, float RadiusX, float RadiusY)
 
void UpdateHeightMap (UHeightMapDataAsset *DataAsset, FDVector Origin, FDVector MapSize, float Size, float ScaleZ)
 
void UpdateMaps (FDVector Position, float RadiusX, float RadiusY, float CacheRadiusX, float CacheRadiusY)
 

Public 属性

std::unordered_map< uint64_t, FDenseTileCacheMap
 
FCriticalSection Lock_Particles
 
std::unordered_map< uint64_t, FDenseTileMap
 
FString SavePath
 

Private 属性

float AffectedRadius = 0.0f
 
FDVector Extension
 
float FloorHeight = 0.0f
 
FHeightMapData Heightmap
 
FCriticalSection Lock_CacheMap
 
FCriticalSection Lock_GetTile
 
FCriticalSection Lock_Map
 
FCriticalSection Lock_Position
 
float ParticleSize = 0.02f
 
FVector PositionToUpdate
 
float TerrainDepth = 0.4f
 
uint32 TextureSize = 0
 
FDVector Tile0Position
 
float TileSize = 1.f
 
std::unordered_map< uint64_t, FDenseTileTilesToWrite
 

友元

struct FTilesWorker
 

详细描述

在文件 CustomTerrainPhysicsComponent.h111 行定义.

构造及析构函数说明

◆ FSparseHighDetailMap()

FSparseHighDetailMap::FSparseHighDetailMap ( float ParticleDiameter = 0.02f,
float Depth = 0.4f )
inline

在文件 CustomTerrainPhysicsComponent.h116 行定义.

成员函数说明

◆ Clear()

void FSparseHighDetailMap::Clear ( )

在文件 CustomTerrainPhysicsComponent.cpp749 行定义.

引用了 FHeightMapData::Clear(), Heightmap , 以及 Map.

+ 函数调用图:

◆ GetHeight()

float FSparseHighDetailMap::GetHeight ( FDVector Position)
inline

在文件 CustomTerrainPhysicsComponent.h158 行定义.

引用了 FHeightMapData::GetHeight(), Heightmap , 以及 Position.

+ 函数调用图:

◆ GetIntersectingTiles()

std::vector< uint64_t > FSparseHighDetailMap::GetIntersectingTiles ( const FOrientedBox & OBox)

在文件 CustomTerrainPhysicsComponent.cpp451 行定义.

引用了 GetIntersectingTiles(), GetTileId(), GetTilePosition(), UEFrameToSI() , 以及 UEFrameToSIDirection().

被这些函数引用 GetIntersectingTiles() , 以及 GetParticlesInBox().

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

◆ GetLoadedTilesInRange()

std::vector< uint64_t > FSparseHighDetailMap::GetLoadedTilesInRange ( FDVector Position,
float Radius )

在文件 CustomTerrainPhysicsComponent.cpp561 行定义.

引用了 GetLoadedTilesInRange(), GetTileId(), Map, Position , 以及 TileSize.

被这些函数引用 GetLoadedTilesInRange().

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

◆ GetParticlesInBox()

std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInBox ( const FOrientedBox & OBox)

在文件 CustomTerrainPhysicsComponent.cpp437 行定义.

引用了 GetIntersectingTiles(), GetParticlesInBox(), FDenseTile::GetParticlesInBox() , 以及 GetTile().

被这些函数引用 GetParticlesInBox().

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

◆ GetParticlesInRadius()

std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInRadius ( FDVector Position,
float Radius )

在文件 CustomTerrainPhysicsComponent.cpp348 行定义.

引用了 FDenseTile::GetParticlesInRadius(), GetParticlesInRadius(), GetTile(), GetTileId() , 以及 Position.

被这些函数引用 GetParticlesInRadius() , 以及 GetParticlesInTileRadius().

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

◆ GetParticlesInTileRadius()

std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInTileRadius ( FDVector Position,
float Radius )

在文件 CustomTerrainPhysicsComponent.cpp374 行定义.

引用了 Extension, FDenseTile::GetParticlesInRadius(), GetParticlesInRadius(), GetTile(), GetTileId(), Map, Position, TileSize, FDVector::X , 以及 FDVector::Y.

+ 函数调用图:

◆ GetTile() [1/3]

FDenseTile & FSparseHighDetailMap::GetTile ( FDVector Position)

在文件 CustomTerrainPhysicsComponent.cpp634 行定义.

引用了 GetTile(), GetTileId() , 以及 Position.

+ 函数调用图:

◆ GetTile() [2/3]

FDenseTile & FSparseHighDetailMap::GetTile ( uint32_t Tile_X,
uint32_t Tile_Y )

在文件 CustomTerrainPhysicsComponent.cpp640 行定义.

引用了 GetTile() , 以及 GetTileId().

被这些函数引用 GetParticlesInBox(), GetParticlesInRadius(), GetParticlesInTileRadius(), GetTile(), GetTile() , 以及 GetTile().

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

◆ GetTile() [3/3]

FDenseTile & FSparseHighDetailMap::GetTile ( uint64_t TileId)

在文件 CustomTerrainPhysicsComponent.cpp645 行定义.

引用了 CacheMap, GetTile(), InitializeRegion(), Lock_CacheMap, Lock_GetTile , 以及 Map.

+ 函数调用图:

◆ GetTileId() [1/3]

uint64_t FSparseHighDetailMap::GetTileId ( FDVector Position)

在文件 CustomTerrainPhysicsComponent.cpp612 行定义.

引用了 GetTileId(), Position, Tile0Position, TileSize, FDVector::X , 以及 FDVector::Y.

+ 函数调用图:

◆ GetTileId() [2/3]

uint64_t FSparseHighDetailMap::GetTileId ( uint32_t Tile_X,
uint32_t Tile_Y )

在文件 CustomTerrainPhysicsComponent.cpp607 行定义.

被这些函数引用 GetIntersectingTiles(), GetLoadedTilesInRange(), GetParticlesInRadius(), GetParticlesInTileRadius(), GetTile(), GetTile(), GetTileId(), InitializeRegion() , 以及 Update().

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

◆ GetTileId() [3/3]

uint64_t FSparseHighDetailMap::GetTileId ( uint64_t TileId)

◆ GetTileIdInCache()

std::vector< uint64_t > FSparseHighDetailMap::GetTileIdInCache ( )
inline

在文件 CustomTerrainPhysicsComponent.h195 行定义.

引用了 CacheMap.

◆ GetTileIdInMap()

std::vector< uint64_t > FSparseHighDetailMap::GetTileIdInMap ( )
inline

在文件 CustomTerrainPhysicsComponent.h186 行定义.

引用了 Map.

◆ GetTilePosition() [1/2]

FDVector FSparseHighDetailMap::GetTilePosition ( uint32_t Tile_X,
uint32_t Tile_Y )

在文件 CustomTerrainPhysicsComponent.cpp627 行定义.

引用了 FloorHeight, Position, Tile0Position , 以及 TileSize.

◆ GetTilePosition() [2/2]

FDVector FSparseHighDetailMap::GetTilePosition ( uint64_t TileId)

在文件 CustomTerrainPhysicsComponent.cpp620 行定义.

引用了 GetTilePosition().

被这些函数引用 GetIntersectingTiles(), GetTilePosition(), InitializeRegion() , 以及 InitializeRegionInCache().

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

◆ GetTileSize()

float FSparseHighDetailMap::GetTileSize ( ) const
inline

在文件 CustomTerrainPhysicsComponent.h131 行定义.

引用了 TileSize.

◆ GetVectorTileId() [1/2]

FIntVector FSparseHighDetailMap::GetVectorTileId ( FDVector Position)

在文件 CustomTerrainPhysicsComponent.cpp674 行定义.

引用了 Position, Tile0Position, TileSize, FDVector::X , 以及 FDVector::Y.

被这些函数引用 Update() , 以及 UpdateMaps().

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

◆ GetVectorTileId() [2/2]

FIntVector FSparseHighDetailMap::GetVectorTileId ( uint64_t TileId)

在文件 CustomTerrainPhysicsComponent.cpp680 行定义.

◆ Init()

void FSparseHighDetailMap::Init ( uint32 NewTextureSize,
float NewAffectedRadius,
float ParticleDiameter,
float Depth,
float NewFloorHeight )
inline

◆ InitializeMap()

void FSparseHighDetailMap::InitializeMap ( UHeightMapDataAsset * DataAsset,
FDVector Origin,
FDVector MapSize,
float Size,
float ScaleZ )

在文件 CustomTerrainPhysicsComponent.cpp723 行定义.

引用了 Extension, Heightmap, FHeightMapData::InitializeHeightmap(), Tile0Position, TileSize, FDVector::X, FDVector::Y , 以及 FDVector::Z.

+ 函数调用图:

◆ InitializeRegion() [1/2]

FDenseTile & FSparseHighDetailMap::InitializeRegion ( uint32_t Tile_X,
uint32_t Tile_Y )

在文件 CustomTerrainPhysicsComponent.cpp687 行定义.

引用了 GetTileId() , 以及 InitializeRegion().

被这些函数引用 GetTile() , 以及 InitializeRegion().

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

◆ InitializeRegion() [2/2]

FDenseTile & FSparseHighDetailMap::InitializeRegion ( uint64_t TileId)

在文件 CustomTerrainPhysicsComponent.cpp693 行定义.

引用了 AffectedRadius, GetTilePosition(), Heightmap, FDenseTile::InitializeTile(), Map, ParticleSize, SavePath, TerrainDepth, TextureSize , 以及 TileSize.

+ 函数调用图:

◆ InitializeRegionInCache()

FDenseTile & FSparseHighDetailMap::InitializeRegionInCache ( uint64_t TileId)

在文件 CustomTerrainPhysicsComponent.cpp707 行定义.

引用了 AffectedRadius, CacheMap, GetTilePosition(), Heightmap, FDenseTile::InitializeTile(), Lock_CacheMap, ParticleSize, SavePath, TerrainDepth, TextureSize , 以及 TileSize.

+ 函数调用图:

◆ LockMutex()

void FSparseHighDetailMap::LockMutex ( )
inline

在文件 CustomTerrainPhysicsComponent.h176 行定义.

引用了 Lock_Map.

◆ SaveMap()

void FSparseHighDetailMap::SaveMap ( )

在文件 CustomTerrainPhysicsComponent.cpp889 行定义.

引用了 CacheMap, Map, SaveMap() , 以及 SavePath.

被这些函数引用 SaveMap().

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

◆ UnLockMutex()

void FSparseHighDetailMap::UnLockMutex ( )
inline

在文件 CustomTerrainPhysicsComponent.h181 行定义.

引用了 Lock_Map.

◆ Update()

void FSparseHighDetailMap::Update ( FVector Position,
float RadiusX,
float RadiusY )

在文件 CustomTerrainPhysicsComponent.cpp848 行定义.

引用了 Extension, GetTileId(), GetVectorTileId(), Map, Position, PositionToUpdate, FDVector::X, FDVector::Y , 以及 FDVector::Z.

+ 函数调用图:

◆ UpdateHeightMap()

void FSparseHighDetailMap::UpdateHeightMap ( UHeightMapDataAsset * DataAsset,
FDVector Origin,
FDVector MapSize,
float Size,
float ScaleZ )

在文件 CustomTerrainPhysicsComponent.cpp738 行定义.

引用了 FHeightMapData::Clear(), Extension, Heightmap , 以及 FHeightMapData::InitializeHeightmap().

+ 函数调用图:

◆ UpdateMaps()

void FSparseHighDetailMap::UpdateMaps ( FDVector Position,
float RadiusX,
float RadiusY,
float CacheRadiusX,
float CacheRadiusY )

在文件 CustomTerrainPhysicsComponent.cpp755 行定义.

引用了 CacheMap, GetVectorTileId(), Lock_CacheMap, Lock_Map, Map, Position , 以及 UpdateMaps().

被这些函数引用 UpdateMaps().

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

友元及相关函数文档

◆ FTilesWorker

friend struct FTilesWorker
friend

在文件 CustomTerrainPhysicsComponent.h114 行定义.

类成员变量说明

◆ AffectedRadius

float FSparseHighDetailMap::AffectedRadius = 0.0f
private

在文件 CustomTerrainPhysicsComponent.h219 行定义.

被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().

◆ CacheMap

std::unordered_map<uint64_t, FDenseTile> FSparseHighDetailMap::CacheMap

◆ Extension

FDVector FSparseHighDetailMap::Extension
private

◆ FloorHeight

float FSparseHighDetailMap::FloorHeight = 0.0f
private

在文件 CustomTerrainPhysicsComponent.h217 行定义.

被这些函数引用 GetTilePosition() , 以及 Init().

◆ Heightmap

FHeightMapData FSparseHighDetailMap::Heightmap
private

◆ Lock_CacheMap

FCriticalSection FSparseHighDetailMap::Lock_CacheMap
private

在文件 CustomTerrainPhysicsComponent.h222 行定义.

被这些函数引用 GetTile(), InitializeRegionInCache() , 以及 UpdateMaps().

◆ Lock_GetTile

FCriticalSection FSparseHighDetailMap::Lock_GetTile
private

在文件 CustomTerrainPhysicsComponent.h223 行定义.

被这些函数引用 GetTile().

◆ Lock_Map

FCriticalSection FSparseHighDetailMap::Lock_Map
private

在文件 CustomTerrainPhysicsComponent.h221 行定义.

被这些函数引用 LockMutex(), UnLockMutex() , 以及 UpdateMaps().

◆ Lock_Particles

FCriticalSection FSparseHighDetailMap::Lock_Particles

在文件 CustomTerrainPhysicsComponent.h208 行定义.

◆ Lock_Position

FCriticalSection FSparseHighDetailMap::Lock_Position
private

在文件 CustomTerrainPhysicsComponent.h224 行定义.

◆ Map

std::unordered_map<uint64_t, FDenseTile> FSparseHighDetailMap::Map

◆ ParticleSize

float FSparseHighDetailMap::ParticleSize = 0.02f
private

在文件 CustomTerrainPhysicsComponent.h215 行定义.

被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().

◆ PositionToUpdate

FVector FSparseHighDetailMap::PositionToUpdate
private

在文件 CustomTerrainPhysicsComponent.h220 行定义.

被这些函数引用 Update().

◆ SavePath

FString FSparseHighDetailMap::SavePath

在文件 CustomTerrainPhysicsComponent.h207 行定义.

被这些函数引用 InitializeRegion(), InitializeRegionInCache() , 以及 SaveMap().

◆ TerrainDepth

float FSparseHighDetailMap::TerrainDepth = 0.4f
private

在文件 CustomTerrainPhysicsComponent.h216 行定义.

被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().

◆ TextureSize

uint32 FSparseHighDetailMap::TextureSize = 0
private

在文件 CustomTerrainPhysicsComponent.h218 行定义.

被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().

◆ Tile0Position

FDVector FSparseHighDetailMap::Tile0Position
private

在文件 CustomTerrainPhysicsComponent.h211 行定义.

被这些函数引用 GetTileId(), GetTilePosition(), GetVectorTileId() , 以及 InitializeMap().

◆ TileSize

float FSparseHighDetailMap::TileSize = 1.f
private

◆ TilesToWrite

std::unordered_map<uint64_t, FDenseTile> FSparseHighDetailMap::TilesToWrite
private

在文件 CustomTerrainPhysicsComponent.h210 行定义.


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