30 template<class Tmorton, class Tvec, u32 dim = shambase::VectorProperties<Tvec>::dimension>
79 template<
class Tmorton,
class Tvec, u32 dim>
81 const sham::DeviceScheduler_ptr &dev_sched,
82 MortonCodeSet<Tmorton, Tvec, dim> &&morton_codes_set);
95 template<
class Tmorton,
class Tvec, u32 dim>
97 const sham::DeviceScheduler_ptr &dev_sched,
98 MortonCodeSet<Tmorton, Tvec, dim> &&morton_codes_set,
MortonCodeSortedSet< Tmorton, Tvec, dim > sort_morton_set(const sham::DeviceScheduler_ptr &dev_sched, MortonCodeSet< Tmorton, Tvec, dim > &&morton_codes_set)
Sorts a set of Morton codes and creates a new MortonCodeSortedSet object with the sorted codes and th...
std::uint32_t u32
32 bit unsigned integer
A buffer allocated in USM (Unified Shared Memory)
Class representing a set of Morton codes with associated bounding box and position data.
sham::DeviceBuffer< u32 > map_morton_id_to_obj_id
Device buffer holding the map from sorted Morton code to object id.
MortonCodeSortedSet(shammath::AABB< Tvec > &&bounding_box, u32 &&cnt_obj, u32 &&morton_count, sham::DeviceBuffer< Tmorton > &&sorted_morton_codes, sham::DeviceBuffer< u32 > &&map_morton_id_to_obj_id)
Move constructor from each members.
u32 morton_count
The count of Morton codes in the set (every code after cnt_obj is err_code)
sham::DeviceBuffer< Tmorton > sorted_morton_codes
Device buffer holding the sorted Morton codes.
shammath::AABB< Tvec > bounding_box
The axis-aligned bounding box for the set of positions.
u32 cnt_obj
The count of objects represented in the set.
Axis-Aligned bounding box.