#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) |
| FDenseTile & | GetTile (FDVector Position) |
| FDenseTile & | GetTile (uint32_t Tile_X, uint32_t Tile_Y) |
| FDenseTile & | GetTile (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) |
| FDenseTile & | InitializeRegion (uint32_t Tile_X, uint32_t Tile_Y) |
| FDenseTile & | InitializeRegion (uint64_t TileId) |
| FDenseTile & | InitializeRegionInCache (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, FDenseTile > | CacheMap |
| FCriticalSection | Lock_Particles |
| std::unordered_map< uint64_t, FDenseTile > | Map |
| 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, FDenseTile > | TilesToWrite |
友元 | |
| struct | FTilesWorker |
在文件 CustomTerrainPhysicsComponent.h 第 111 行定义.
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 116 行定义.
| void FSparseHighDetailMap::Clear | ( | ) |
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 158 行定义.
引用了 FHeightMapData::GetHeight(), Heightmap , 以及 Position.
函数调用图:| std::vector< uint64_t > FSparseHighDetailMap::GetIntersectingTiles | ( | const FOrientedBox & | OBox | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 451 行定义.
引用了 GetIntersectingTiles(), GetTileId(), GetTilePosition(), UEFrameToSI() , 以及 UEFrameToSIDirection().
被这些函数引用 GetIntersectingTiles() , 以及 GetParticlesInBox().
函数调用图:
这是这个函数的调用关系图:| std::vector< uint64_t > FSparseHighDetailMap::GetLoadedTilesInRange | ( | FDVector | Position, |
| float | Radius | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 561 行定义.
引用了 GetLoadedTilesInRange(), GetTileId(), Position , 以及 TileSize.
被这些函数引用 GetLoadedTilesInRange().
函数调用图:
这是这个函数的调用关系图:| std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInBox | ( | const FOrientedBox & | OBox | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 437 行定义.
引用了 GetIntersectingTiles(), GetParticlesInBox(), FDenseTile::GetParticlesInBox() , 以及 GetTile().
被这些函数引用 GetParticlesInBox().
函数调用图:
这是这个函数的调用关系图:| std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInRadius | ( | FDVector | Position, |
| float | Radius | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 348 行定义.
引用了 FDenseTile::GetParticlesInRadius(), GetParticlesInRadius(), GetTile(), GetTileId() , 以及 Position.
被这些函数引用 GetParticlesInRadius() , 以及 GetParticlesInTileRadius().
函数调用图:
这是这个函数的调用关系图:| std::vector< FParticle * > FSparseHighDetailMap::GetParticlesInTileRadius | ( | FDVector | Position, |
| float | Radius | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 374 行定义.
引用了 Extension, FDenseTile::GetParticlesInRadius(), GetParticlesInRadius(), GetTile(), GetTileId(), Position, TileSize, FDVector::X , 以及 FDVector::Y.
函数调用图:| FDenseTile & FSparseHighDetailMap::GetTile | ( | FDVector | Position | ) |
| FDenseTile & FSparseHighDetailMap::GetTile | ( | uint32_t | Tile_X, |
| uint32_t | Tile_Y | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 640 行定义.
引用了 GetTile() , 以及 GetTileId().
被这些函数引用 GetParticlesInBox(), GetParticlesInRadius(), GetParticlesInTileRadius() , 以及 GetTile().
函数调用图:
这是这个函数的调用关系图:| FDenseTile & FSparseHighDetailMap::GetTile | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 645 行定义.
引用了 CacheMap, GetTile(), InitializeRegion(), Lock_CacheMap , 以及 Lock_GetTile.
函数调用图:| uint64_t FSparseHighDetailMap::GetTileId | ( | FDVector | Position | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 612 行定义.
引用了 GetTileId(), Position, Tile0Position, TileSize, FDVector::X , 以及 FDVector::Y.
函数调用图:| uint64_t FSparseHighDetailMap::GetTileId | ( | uint32_t | Tile_X, |
| uint32_t | Tile_Y | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 607 行定义.
被这些函数引用 GetIntersectingTiles(), GetLoadedTilesInRange(), GetParticlesInRadius(), GetParticlesInTileRadius(), GetTile(), GetTileId(), InitializeRegion() , 以及 Update().
这是这个函数的调用关系图:| uint64_t FSparseHighDetailMap::GetTileId | ( | uint64_t | TileId | ) |
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 195 行定义.
引用了 CacheMap.
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 186 行定义.
| FDVector FSparseHighDetailMap::GetTilePosition | ( | uint32_t | Tile_X, |
| uint32_t | Tile_Y | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 627 行定义.
引用了 FloorHeight, Position, Tile0Position , 以及 TileSize.
| FDVector FSparseHighDetailMap::GetTilePosition | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 620 行定义.
引用了 GetTilePosition().
被这些函数引用 GetIntersectingTiles(), GetTilePosition(), InitializeRegion() , 以及 InitializeRegionInCache().
函数调用图:
这是这个函数的调用关系图:
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 131 行定义.
引用了 TileSize.
| FIntVector FSparseHighDetailMap::GetVectorTileId | ( | FDVector | Position | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 674 行定义.
引用了 Position, Tile0Position, TileSize, FDVector::X , 以及 FDVector::Y.
被这些函数引用 Update() , 以及 UpdateMaps().
这是这个函数的调用关系图:| FIntVector FSparseHighDetailMap::GetVectorTileId | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 680 行定义.
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 119 行定义.
引用了 AffectedRadius, FloorHeight, ParticleSize, TerrainDepth, TextureSize , 以及 UE_LOG().
函数调用图:| void FSparseHighDetailMap::InitializeMap | ( | UHeightMapDataAsset * | DataAsset, |
| FDVector | Origin, | ||
| FDVector | MapSize, | ||
| float | Size, | ||
| float | ScaleZ | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 723 行定义.
引用了 Extension, Heightmap, FHeightMapData::InitializeHeightmap(), Tile0Position, TileSize, UE_LOG(), FDVector::X, FDVector::Y , 以及 FDVector::Z.
函数调用图:| FDenseTile & FSparseHighDetailMap::InitializeRegion | ( | uint32_t | Tile_X, |
| uint32_t | Tile_Y | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 687 行定义.
引用了 GetTileId() , 以及 InitializeRegion().
被这些函数引用 GetTile() , 以及 InitializeRegion().
函数调用图:
这是这个函数的调用关系图:| FDenseTile & FSparseHighDetailMap::InitializeRegion | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 693 行定义.
引用了 AffectedRadius, GetTilePosition(), Heightmap, FDenseTile::InitializeTile(), ParticleSize, SavePath, TerrainDepth, TextureSize , 以及 TileSize.
函数调用图:| FDenseTile & FSparseHighDetailMap::InitializeRegionInCache | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 707 行定义.
引用了 AffectedRadius, CacheMap, GetTilePosition(), Heightmap, FDenseTile::InitializeTile(), Lock_CacheMap, ParticleSize, SavePath, TerrainDepth, TextureSize , 以及 TileSize.
函数调用图:
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 176 行定义.
引用了 Lock_Map.
| void FSparseHighDetailMap::SaveMap | ( | ) |
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 181 行定义.
引用了 Lock_Map.
| void FSparseHighDetailMap::Update | ( | FVector | Position, |
| float | RadiusX, | ||
| float | RadiusY | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 848 行定义.
引用了 Extension, GetTileId(), GetVectorTileId(), Position, PositionToUpdate, FDVector::X, FDVector::Y , 以及 FDVector::Z.
函数调用图:| void FSparseHighDetailMap::UpdateHeightMap | ( | UHeightMapDataAsset * | DataAsset, |
| FDVector | Origin, | ||
| FDVector | MapSize, | ||
| float | Size, | ||
| float | ScaleZ | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 738 行定义.
引用了 FHeightMapData::Clear(), Extension, Heightmap, FHeightMapData::InitializeHeightmap() , 以及 UE_LOG().
函数调用图:| void FSparseHighDetailMap::UpdateMaps | ( | FDVector | Position, |
| float | RadiusX, | ||
| float | RadiusY, | ||
| float | CacheRadiusX, | ||
| float | CacheRadiusY | ||
| ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 755 行定义.
引用了 CacheMap, GetVectorTileId(), Lock_CacheMap, Lock_Map, Position , 以及 UpdateMaps().
被这些函数引用 UpdateMaps().
函数调用图:
这是这个函数的调用关系图:
|
friend |
在文件 CustomTerrainPhysicsComponent.h 第 114 行定义.
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 219 行定义.
被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().
| std::unordered_map<uint64_t, FDenseTile> FSparseHighDetailMap::CacheMap |
在文件 CustomTerrainPhysicsComponent.h 第 206 行定义.
被这些函数引用 GetTile(), GetTileIdInCache(), InitializeRegionInCache(), SaveMap() , 以及 UpdateMaps().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 212 行定义.
被这些函数引用 GetParticlesInTileRadius(), InitializeMap(), Update() , 以及 UpdateHeightMap().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 217 行定义.
被这些函数引用 GetTilePosition() , 以及 Init().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 214 行定义.
被这些函数引用 Clear(), GetHeight(), InitializeMap(), InitializeRegion(), InitializeRegionInCache() , 以及 UpdateHeightMap().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 222 行定义.
被这些函数引用 GetTile(), InitializeRegionInCache() , 以及 UpdateMaps().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 223 行定义.
被这些函数引用 GetTile().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 221 行定义.
被这些函数引用 LockMutex(), UnLockMutex() , 以及 UpdateMaps().
| FCriticalSection FSparseHighDetailMap::Lock_Particles |
在文件 CustomTerrainPhysicsComponent.h 第 208 行定义.
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 224 行定义.
| std::unordered_map<uint64_t, FDenseTile> FSparseHighDetailMap::Map |
在文件 CustomTerrainPhysicsComponent.h 第 205 行定义.
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 215 行定义.
被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 220 行定义.
被这些函数引用 Update().
| FString FSparseHighDetailMap::SavePath |
在文件 CustomTerrainPhysicsComponent.h 第 207 行定义.
被这些函数引用 InitializeRegion(), InitializeRegionInCache() , 以及 SaveMap().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 216 行定义.
被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 218 行定义.
被这些函数引用 Init(), InitializeRegion() , 以及 InitializeRegionInCache().
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 211 行定义.
被这些函数引用 GetTileId(), GetTilePosition(), GetVectorTileId() , 以及 InitializeMap().
|
private |
|
private |
在文件 CustomTerrainPhysicsComponent.h 第 210 行定义.