supereight
fetcher.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_FETCHER_HPP
10 #define SE_FETCHER_HPP
11 
12 #include "octree.hpp"
14 
15 
16 
17 namespace se {
18 namespace fetcher {
19 
20 
21 
32 template<typename OctreeT>
33 inline se::OctantBase* octant(const Eigen::Vector3i& octant_coord,
34  const se::scale_t scale_desired,
35  se::OctantBase* base_parent_ptr);
36 
48 template<typename OctreeT>
49 inline se::OctantBase* finest_octant(const Eigen::Vector3i& octant_coord,
50  const se::scale_t scale_desired,
51  se::OctantBase* base_parent_ptr);
52 
62 template<typename OctreeT>
63 inline se::OctantBase* block(const Eigen::Vector3i& block_coord, se::OctantBase* base_parent_ptr);
64 
74 template<typename OctreeT>
75 inline se::OctantBase* leaf(const Eigen::Vector3i& leaf_coord, se::OctantBase* base_parent_ptr);
76 
77 
78 
79 } // namespace fetcher
80 } // namespace se
81 
82 #include "impl/fetcher_impl.hpp"
83 
84 #endif // SE_FETCHER_HPP
se::OctantBase * block(const Eigen::Vector3i &block_coord, se::OctantBase *base_parent_ptr)
Fetch the block for given block coordinates.
uint64_t scale_t
The type of the scale in the morton code.
Definition: type_util.hpp:46
se::OctantBase * octant(const Eigen::Vector3i &octant_coord, const se::scale_t scale_desired, se::OctantBase *base_parent_ptr)
Fetch the octant for given coordinates and scale.
se::OctantBase * leaf(const Eigen::Vector3i &leaf_coord, se::OctantBase *base_parent_ptr)
Fetch the leaf for given block coordinates.
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
se::OctantBase * finest_octant(const Eigen::Vector3i &octant_coord, const se::scale_t scale_desired, se::OctantBase *base_parent_ptr)
Fetch the octant for given coordinates and scale.
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17