supereight
Loading...
Searching...
No Matches
submap.hpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2024 Smart Robotics Lab, Imperial College London, Technical University of Munich
3 * SPDX-FileCopyrightText: 2024 Sotiris Papatheodorou
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef SE_SUBMAP_HPP
8#define SE_SUBMAP_HPP
9
10#include <Eigen/Geometry>
11#include <Eigen/StdVector>
12#include <memory>
13#include <unordered_map>
14#include <vector>
15
16namespace se {
17
21template<typename MapT>
22struct Submap {
23 std::shared_ptr<MapT> map;
24
26 Eigen::Isometry3f T_WK = Eigen::Isometry3f::Identity();
27
28 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29};
30
31template<typename MapT>
32using SubmapVec = std::vector<Submap<MapT>, Eigen::aligned_allocator<Submap<MapT>>>;
33
34template<typename KeyT, typename MapT>
36 std::unordered_map<KeyT,
38 std::hash<KeyT>,
39 std::equal_to<KeyT>,
40 Eigen::aligned_allocator<std::pair<const KeyT, Submap<MapT>>>>;
41
42} // namespace se
43
44#endif // SE_SUBMAP_HPP
Definition image.hpp:19
Helper wrapper to allocate and de-allocate octants in the octree.
Definition bounded_vector.hpp:14
std::unordered_map< KeyT, Submap< MapT >, std::hash< KeyT >, std::equal_to< KeyT >, Eigen::aligned_allocator< std::pair< const KeyT, Submap< MapT > > > > SubmapUnordMap
Definition submap.hpp:40
std::vector< Submap< MapT >, Eigen::aligned_allocator< Submap< MapT > > > SubmapVec
Definition submap.hpp:32
Stores an se::Map and an associated transformation from the submap to the world frame.
Definition submap.hpp:22
Eigen::Isometry3f T_WK
The pose of the submap frame K expressed in the world frame W.
Definition submap.hpp:26
std::shared_ptr< MapT > map
Definition submap.hpp:23