31 using GhostHandleCache =
typename GhostHandle::CacheMap;
35 auto &merged_xyzh = storage.merged_xyzh.get();
36 auto dev_sched = shamsys::instance::get_compute_scheduler_ptr();
41 Tvec bmax = pos.compute_max();
42 Tvec bmin = pos.compute_min();
46 Tscal infty = std::numeric_limits<Tscal>::infinity();
50 aabb.
lower[0] = std::nextafter(aabb.
lower[0], -infty);
51 aabb.
lower[1] = std::nextafter(aabb.
lower[1], -infty);
52 aabb.
lower[2] = std::nextafter(aabb.
lower[2], -infty);
53 aabb.
upper[0] = std::nextafter(aabb.
upper[0], infty);
54 aabb.
upper[1] = std::nextafter(aabb.
upper[1], infty);
55 aabb.
upper[2] = std::nextafter(aabb.
upper[2], infty);
57 auto bvh = RTree::make_empty(dev_sched);
58 bvh.rebuild_from_positions(
59 pos.get_buf(), pos.get_obj_cnt(), aabb, solver_config.tree_reduction_level);
64 storage.merged_pos_trees.set(std::move(trees));