supereight
type_util.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_TYPE_UTIL_HPP
9 #define SE_TYPE_UTIL_HPP
10 
11 #include <Eigen/Dense>
12 #include <Eigen/StdVector>
13 #include <cstdint>
14 
15 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Vector2f)
16 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Vector3f)
17 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Vector2d)
18 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Vector3d)
19 
20 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix2f)
21 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix3f)
22 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix4f)
23 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix2d)
24 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix3d)
25 EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(Eigen::Matrix4d)
26 
27 namespace se {
28 
44 typedef uint64_t key_t;
45 typedef uint64_t code_t;
46 typedef uint64_t scale_t;
47 
48 typedef unsigned int idx_t;
49 
50 typedef float field_t;
51 
52 typedef Eigen::Matrix<field_t, 3, 1> field_vec_t;
53 
55 
56 typedef float time_stamp_t;
57 
58 typedef uint32_t rgba_t;
59 
60 typedef short semantics_t;
61 
62 } // namespace se
63 
64 #endif // SE_TYPE_UTIL_HPP
unsigned int idx_t
Child or voxel index type.
Definition: type_util.hpp:48
Eigen::Matrix< field_t, 3, 1 > field_vec_t
Definition: type_util.hpp:52
uint64_t scale_t
The type of the scale in the morton code.
Definition: type_util.hpp:46
float field_t
The type of the stored field (e.g. TSDF, ESDF or occupancy)
Definition: type_util.hpp:50
uint32_t rgba_t
The type of the colour.
Definition: type_util.hpp:58
float time_stamp_t
The type of the time stamp.
Definition: type_util.hpp:56
uint64_t key_t
key = 1 bit buffer + 57 bits of morton code + 6 bits of scale information The maxium scale is limited...
Definition: type_util.hpp:44
uint64_t code_t
The type of the Morton code.
Definition: type_util.hpp:45
se::field_t weight_t
The type of the field type weight.
Definition: type_util.hpp:54
short semantics_t
The type of the semantic class.
Definition: type_util.hpp:60
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17