MUDA
Loading...
Searching...
No Matches
muda::spatial_hash::details::SparseSpatialHashImpl< Hash > Class Template Reference

Public Types

using Cell = SpatialPartitionCell
 
using U32 = uint32_t
 
using I32 = int32_t
 
using Vector3u = Eigen::Vector3< U32 >
 
using Vector3i = Eigen::Vector3< I32 >
 
using Vector3 = Eigen::Vector3f
 

Public Member Functions

 SparseSpatialHashImpl (muda::Stream &stream=muda::Stream::Default())
 
template<typename Pred >
void detect (CBufferView< BoundingSphere > boundingSphereList, bool append, DeviceBuffer< CollisionPair > &collisionPairs, Pred &&pred)
 
void calculate_hash_table_basic_info ()
 
void setup_hash_table ()
 
void fill_hash_cells ()
 
void count_object_per_cell ()
 
template<typename Pred >
void simple_setup_collision_pairs (Pred &&pred, DeviceBuffer< CollisionPair > &collisionPairs)
 
template<typename Pred >
void simple_count_collision_pairs (Pred &&pred)
 
void alloc_collision_pair_list (DeviceBuffer< CollisionPair > &collisionPairs, int totalCollisionPairCount)
 
template<typename Pred >
void simple_fill_collision_pair_list (DeviceBuffer< CollisionPair > &collisionPairs, Pred &&pred)
 
template<typename Pred >
void balanced_setup_collision_pairs (bool append, DeviceBuffer< CollisionPair > &collisionPairs, Pred &&pred)
 

Public Attributes

muda::Streamm_stream
 
CBufferView< BoundingSpherespheres
 
DeviceVar< int > cellCount
 
DeviceVar< int > pairCount
 
DeviceVar< float > maxRadius
 
DeviceVar< Vector3 > minCoord
 
DeviceVar< SpatialHashTableInfo< Hash > > spatialHashConfig
 
SpatialHashTableInfo< Hash > h_spatialHashConfig
 
DeviceBuffer< SpatialPartitionCellcellArrayValue
 
DeviceBuffer< SpatialPartitionCellcellArrayValueSorted
 
DeviceBuffer< int > cellArrayKey
 
DeviceBuffer< int > cellArrayKeySorted
 
DeviceBuffer< int > uniqueKey
 
DeviceVar< int > uniqueKeyCount
 
int validCellCount
 
int sum
 
size_t pairListOffset = 0
 
DeviceBuffer< int > objCountInCell
 
DeviceBuffer< int > objCountInCellPrefixSum
 
DeviceBuffer< int > collisionPairCount
 
DeviceBuffer< int > collisionPairPrefixSum
 
int level = 0
 
bool empty_level = false
 
DeviceBuffer< float > allRadius
 
DeviceBuffer< Vector3 > allCoords
 
DeviceBuffer< int > cellToCollisionPairUpperBound
 
DeviceBuffer< int > cellToCollisionPairUpperBoundPrefixSum
 
DeviceBuffer< int > potentialCollisionPairIdToCellIndexBuffer
 
DeviceBuffer< int > potentialCollisionPairIdToCellIndex
 
DeviceBuffer< CollisionPaircollisionPairBuffer
 
DeviceVar< int > validCollisionPairCount
 

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