supereight
Loading...
Searching...
No Matches
raycast_carver.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016-2019 Emanuele Vespa
3 * SPDX-FileCopyrightText: 2021 Smart Robotics Lab, Imperial College London, Technical University of Munich
4 * SPDX-FileCopyrightText: 2021 Nils Funk
5 * SPDX-FileCopyrightText: 2021 Sotiris Papatheodorou
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef SE_RAYCAST_CARVER_HPP
10#define SE_RAYCAST_CARVER_HPP
11
12#include <Eigen/Geometry>
13#include <se/common/timings.hpp>
14#include <se/image/image.hpp>
19#include <set>
20
21namespace se {
22namespace fetcher {
23
24
25
26template<typename MapT, typename SensorT>
27inline std::vector<se::OctantBase*>
28frustum(MapT& map, const SensorT& sensor, const Eigen::Isometry3f& T_WS);
29
30
31
32} // namespace fetcher
33
34
35
39template<typename MapT, typename SensorT>
41 public:
53 const SensorT& sensor,
55 const Eigen::Isometry3f& T_WS,
56 const timestamp_t timestamp);
57
59 std::vector<se::OctantBase*> operator()();
60
61 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
62
63 private:
64 MapT& map_;
65 typename MapT::OctreeType& octree_;
66 const SensorT& sensor_;
67 const se::Image<float>& depth_img_;
68 const Eigen::Isometry3f& T_WS_;
69 const float band_;
70};
71
72} // namespace se
73
74#include "impl/raycast_carver_impl.hpp"
75
76#endif // SE_RAYCAST_CARVER_HPP
Definition image.hpp:19
Allocator used for TSDF mapping.
Definition raycast_carver.hpp:40
RaycastCarver(MapT &map, const SensorT &sensor, const se::Image< float > &depth_img, const Eigen::Isometry3f &T_WS, const timestamp_t timestamp)
Constructs a RaycastCarver but doesn't perform any allocations yet.
std::vector< se::OctantBase * > operator()()
Performs the necessary allocations and returns the allocated blocks.
std::vector< se::OctantBase * > frustum(MapT &map, const SensorT &sensor, const Eigen::Isometry3f &T_WS)
Return the currently allocated Blocks that intersect the camera frustum.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14