7#ifndef SE_RAY_INTEGRATOR_CORE_HPP
8#define SE_RAY_INTEGRATOR_CORE_HPP
14namespace ray_integrator {
26template<
typename DataT,
typename ConfigT>
40template<
typename DataT,
typename ConfigT>
52template<
typename NodeT,
typename BlockT>
63template<
typename BlockT>
73template<
typename BlockT>
82template<
typename BlockT>
88#include "impl/ray_integrator_core_impl.hpp"
The base class of all octants (se::Node and se::Block) in an se::Octree.
Definition octant.hpp:19
void propagate_block_to_scale(se::OctantBase *octant_ptr, int desired_scale)
Summariese the values from the current integration scale recursively up to the desired scale.
bool update_voxel(DataT &data, const float range_diff, const float tau, const float three_sigma, const ConfigT config)
Update a field with a new measurement, a weighting of 1 is considered for the new measurement.
NodeT::DataType propagate_to_parent_node(se::OctantBase *octant_ptr, const timestamp_t timestamp)
Propagate a summary of the eight nodes children to its parent.
bool free_voxel(DataT &voxel_data, const ConfigT config)
Reduce the node data by the minimum log-odd occupancy update per iteration.
void propagate_block_to_coarsest_scale(se::OctantBase *octant_ptr)
Summariese the values from the current integration scale recursively up to the block's max scale.
void propagate_block_down_to_scale(se::OctantBase *octant_ptr, int desired_scale)
Propagate down to lower scale at block level.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14
int timestamp_t
The type of the time stamp.
Definition type_util.hpp:55