supereight
updater.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2021 Smart Robotics Lab, Imperial College London, Technical University of Munich
3  * SPDX-FileCopyrightText: 2021 Nils Funk
4  * SPDX-FileCopyrightText: 2021 Sotiris Papatheodorou
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef SE_UPDATER_HPP
9 #define SE_UPDATER_HPP
10 
11 
12 
13 namespace se {
14 
15 
16 
17 template<typename MapT, typename SensorT>
18 class Updater {
19  public:
20  Updater(MapT& map,
21  const SensorT& sensor,
22  const se::Image<float>& depth_img,
23  const Eigen::Matrix4f& T_WS,
24  const int frame);
25 
26  template<typename UpdateListT>
27  void operator()(UpdateListT& updating_list);
28 };
29 
30 
31 
32 // Single-res TSDF updater
33 template<se::Colour ColB, se::Semantics SemB, int BlockSize, typename SensorT>
34 class Updater<Map<Data<se::Field::TSDF, ColB, SemB>, se::Res::Single, BlockSize>, SensorT>;
35 
36 
37 
38 // Multi-res TSDF updater
39 template<se::Colour ColB, se::Semantics SemB, int BlockSize, typename SensorT>
40 class Updater<Map<Data<se::Field::TSDF, ColB, SemB>, se::Res::Multi, BlockSize>, SensorT>;
41 
42 
43 
44 // Multi-res Occupancy updater
45 template<se::Colour ColB, se::Semantics SemB, int BlockSize, typename SensorT>
46 class Updater<Map<Data<se::Field::Occupancy, ColB, SemB>, se::Res::Multi, BlockSize>, SensorT>;
47 
48 
49 
50 } // namespace se
51 
52 #include "multires_ofusion_updater.hpp"
53 #include "multires_tsdf_updater.hpp"
54 #include "singleres_tsdf_updater.hpp"
55 
56 #endif // SE_UPDATER_HPP
Updater(MapT &map, const SensorT &sensor, const se::Image< float > &depth_img, const Eigen::Matrix4f &T_WS, const int frame)
Definition: updater.hpp:18
void operator()(UpdateListT &updating_list)
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17