Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
shamtree::MortonReducedSet< Tmorton, Tvec, dim > Class Template Reference

Class representing a set of Morton codes with associated bounding box and position data that was reduced. More...

#include <shamtree/include/shamtree/MortonReducedSet.hpp>

+ Collaboration diagram for shamtree::MortonReducedSet< Tmorton, Tvec, dim >:

Public Member Functions

 MortonReducedSet (MortonCodeSortedSet< Tmorton, Tvec > &&morton_codes_set, u32 reduce_code_count, sham::DeviceBuffer< u32 > &&buf_reduc_index_map, sham::DeviceBuffer< Tmorton > &&reduced_morton_codes)
 Move constructor from each members.
 
bool is_empty () const
 
LeafCellIterator get_leaf_cell_iterator () const
 
LeafCellIteratorHost get_leaf_cell_iterator_host () const
 
CellIterator get_cell_iterator (const sham::DeviceBuffer< u32 > &buf_endrange, u32 offset_leaf) const
 
CellIteratorHost get_cell_iterator_host (const sham::DeviceBuffer< u32 > &buf_endrange, u32 offset_leaf) const
 

Static Public Member Functions

static MortonReducedSet make_empty (sham::DeviceScheduler_ptr dev_sched)
 

Public Attributes

MortonCodeSortedSet< Tmorton, Tvec > morton_codes_set
 The source Morton codes set.
 
u32 reduce_code_count
 The count of Morton codes in the reduced set This was called tree_leaf_count.
 
sham::DeviceBuffer< u32buf_reduc_index_map
 
sham::DeviceBuffer< Tmorton > reduced_morton_codes
 

Detailed Description

template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
class shamtree::MortonReducedSet< Tmorton, Tvec, dim >

Class representing a set of Morton codes with associated bounding box and position data that was reduced.

Template Parameters
TmortonThe type used for Morton codes
TvecThe vector type representing positions
dimThe dimensionality, inferred from Tvec if not provided

Definition at line 33 of file MortonReducedSet.hpp.

Constructor & Destructor Documentation

◆ MortonReducedSet()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
shamtree::MortonReducedSet< Tmorton, Tvec, dim >::MortonReducedSet ( MortonCodeSortedSet< Tmorton, Tvec > &&  morton_codes_set,
u32  reduce_code_count,
sham::DeviceBuffer< u32 > &&  buf_reduc_index_map,
sham::DeviceBuffer< Tmorton > &&  reduced_morton_codes 
)
inline

Move constructor from each members.

Definition at line 53 of file MortonReducedSet.hpp.

Member Function Documentation

◆ get_cell_iterator()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
CellIterator shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_cell_iterator ( const sham::DeviceBuffer< u32 > &  buf_endrange,
u32  offset_leaf 
) const
inline

Definition at line 74 of file MortonReducedSet.hpp.

◆ get_cell_iterator_host()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
CellIteratorHost shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_cell_iterator_host ( const sham::DeviceBuffer< u32 > &  buf_endrange,
u32  offset_leaf 
) const
inline

Definition at line 83 of file MortonReducedSet.hpp.

◆ get_leaf_cell_iterator()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
LeafCellIterator shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_leaf_cell_iterator ( ) const
inline

Definition at line 64 of file MortonReducedSet.hpp.

◆ get_leaf_cell_iterator_host()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
LeafCellIteratorHost shamtree::MortonReducedSet< Tmorton, Tvec, dim >::get_leaf_cell_iterator_host ( ) const
inline

Definition at line 68 of file MortonReducedSet.hpp.

◆ is_empty()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
bool shamtree::MortonReducedSet< Tmorton, Tvec, dim >::is_empty ( ) const
inline

Definition at line 62 of file MortonReducedSet.hpp.

◆ make_empty()

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
static MortonReducedSet shamtree::MortonReducedSet< Tmorton, Tvec, dim >::make_empty ( sham::DeviceScheduler_ptr  dev_sched)
inlinestatic

Definition at line 92 of file MortonReducedSet.hpp.

Member Data Documentation

◆ buf_reduc_index_map

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
sham::DeviceBuffer<u32> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::buf_reduc_index_map

Indexes of the morton codes in the reduced set This was called buf_reduc_index_map

Definition at line 46 of file MortonReducedSet.hpp.

◆ morton_codes_set

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
MortonCodeSortedSet<Tmorton, Tvec> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::morton_codes_set

The source Morton codes set.

Definition at line 36 of file MortonReducedSet.hpp.

◆ reduce_code_count

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
u32 shamtree::MortonReducedSet< Tmorton, Tvec, dim >::reduce_code_count

The count of Morton codes in the reduced set This was called tree_leaf_count.

Definition at line 42 of file MortonReducedSet.hpp.

◆ reduced_morton_codes

template<class Tmorton , class Tvec , u32 dim = shambase::VectorProperties<Tvec>::dimension>
sham::DeviceBuffer<Tmorton> shamtree::MortonReducedSet< Tmorton, Tvec, dim >::reduced_morton_codes

The reduced Morton codes This was called buf_tree_morton

Definition at line 50 of file MortonReducedSet.hpp.


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