#include <CustomTerrainPhysicsComponent.h>
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 | ( | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 749 行定义.
引用了 FHeightMapData::Clear(), Heightmap , 以及 Map.
|
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(), Map, 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(), Map, 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(), GetTile() , 以及 GetTile().
FDenseTile & FSparseHighDetailMap::GetTile | ( | uint64_t | TileId | ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 645 行定义.
引用了 CacheMap, GetTile(), InitializeRegion(), Lock_CacheMap, Lock_GetTile , 以及 Map.
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(), GetTile(), GetTileId(), InitializeRegion() , 以及 Update().
uint64_t FSparseHighDetailMap::GetTileId | ( | uint64_t | TileId | ) |
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 195 行定义.
引用了 CacheMap.
|
inline |
在文件 CustomTerrainPhysicsComponent.h 第 186 行定义.
引用了 Map.
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.
void FSparseHighDetailMap::InitializeMap | ( | UHeightMapDataAsset * | DataAsset, |
FDVector | Origin, | ||
FDVector | MapSize, | ||
float | Size, | ||
float | ScaleZ ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 723 行定义.
引用了 Extension, Heightmap, FHeightMapData::InitializeHeightmap(), Tile0Position, TileSize, 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(), Map, 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(), Map, 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().
void FSparseHighDetailMap::UpdateMaps | ( | FDVector | Position, |
float | RadiusX, | ||
float | RadiusY, | ||
float | CacheRadiusX, | ||
float | CacheRadiusY ) |
在文件 CustomTerrainPhysicsComponent.cpp 第 755 行定义.
引用了 CacheMap, GetVectorTileId(), Lock_CacheMap, Lock_Map, 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 行定义.
被这些函数引用 Clear(), GetLoadedTilesInRange(), GetParticlesInTileRadius(), GetTile(), GetTileIdInMap(), InitializeRegion(), SaveMap(), Update() , 以及 UpdateMaps().
|
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 行定义.