9 #ifndef SE_PROPAGATOR_HPP 10 #define SE_PROPAGATOR_HPP 12 #include <unordered_set> 25 namespace propagator {
41 template<
typename OctreeT,
typename ChildF,
typename ParentF>
46 ParentF parent_funct);
60 template<
typename OctreeT,
typename ChildF,
typename ParentF>
63 const int target_scale,
65 ParentF parent_funct);
74 template<
typename PropagateF>
90 #include "impl/propagator_impl.hpp" 92 #endif // SE_PROPAGATOR_HPP void propagateBlocksToRoot(std::vector< se::OctantBase *> &octant_ptrs, PropagateF &propagate_funct)
Propagate all nodes to the root using a given up-propagation function.
void propagateBlockTimeStampsToRoot(std::vector< se::OctantBase *> &octant_ptrs)
Propagate all node time stamps to the root.
void propagateBlockDown(const OctreeT &octree, se::OctantBase *octant_ptr, const int target_scale, ChildF child_funct, ParentF parent_funct)
Propagate the block values from the current scale to a lower target scale.
void propagateBlockUp(const OctreeT &, se::OctantBase *octant_ptr, const int init_scale, ChildF child_funct, ParentF parent_funct)
Propagate the block values from the current scale to a lower target scale.
This class only helps to dynamic cast the octant to the right type and builds the base of nodes and b...
Definition: octant.hpp:24
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17