supereight
yaml.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_YAML_HPP
9 #define SE_YAML_HPP
10 
11 
12 
13 #include <Eigen/Dense>
14 #include <iostream>
15 #include <opencv2/core.hpp>
16 #include <string>
17 #include <vector>
18 
19 
20 
21 namespace se {
22 namespace yaml {
23 
24 
25 
35 void subnode_as_bool(const cv::FileNode& base_node, const std::string& subnode_name, bool& b);
36 
46 void subnode_as_int(const cv::FileNode& base_node, const std::string& subnode_name, int& i);
47 
57 void subnode_as_float(const cv::FileNode& base_node, const std::string& subnode_name, float& f);
58 
68 void subnode_as_string(const cv::FileNode& base_node,
69  const std::string& subnode_name,
70  std::string& s);
71 
81 template<typename T>
82 void subnode_as_vector(const cv::FileNode& base_node,
83  const std::string& subnode_name,
84  std::vector<T>& v);
85 
95 void subnode_as_eigen_vector3f(const cv::FileNode& base_node,
96  const std::string& subnode_name,
97  Eigen::Vector3f& eigen_v3f);
98 
108 template<typename T>
109 void subnode_as_eigen_vector_x(const cv::FileNode& base_node,
110  const std::string& subnode_name,
111  Eigen::Matrix<T, Eigen::Dynamic, 1>& eigen_v);
112 
122 void subnode_as_eigen_matrix3f(const cv::FileNode& base_node,
123  const std::string& subnode_name,
124  Eigen::Matrix3f& eigen_m3f);
125 
135 void subnode_as_eigen_matrix4f(const cv::FileNode& base_node,
136  const std::string& subnode_name,
137  Eigen::Matrix4f& eigen_m4f);
138 
139 
140 
141 } // namespace yaml
142 } // namespace se
143 
144 
145 
146 #include "impl/yaml_impl.hpp"
147 
148 
149 
150 #endif // SE_YAML_HPP
void subnode_as_vector(const cv::FileNode &base_node, const std::string &subnode_name, std::vector< T > &v)
Interprets the data in the subnode of base_node named subnode_name as an std::vector and saves it in ...
void subnode_as_string(const cv::FileNode &base_node, const std::string &subnode_name, std::string &s)
Interprets the data in the subnode of base_node named subnode_name as a string and saves it in s...
void subnode_as_eigen_matrix3f(const cv::FileNode &base_node, const std::string &subnode_name, Eigen::Matrix3f &eigen_m3f)
Interprets the data in the subnode of base_node named subnode_name as an Eigen::Vector3f and saves it...
void subnode_as_eigen_matrix4f(const cv::FileNode &base_node, const std::string &subnode_name, Eigen::Matrix4f &eigen_m4f)
Interprets the data in the subnode of base_node named subnode_name as an Eigen::Vector3f and saves it...
void subnode_as_bool(const cv::FileNode &base_node, const std::string &subnode_name, bool &b)
Interprets the data in the subnode of base_node named subnode_name as a boolean and saves it in b...
void subnode_as_int(const cv::FileNode &base_node, const std::string &subnode_name, int &i)
Interprets the data in the subnode of base_node named subnode_name as an int and saves it in i...
void subnode_as_eigen_vector_x(const cv::FileNode &base_node, const std::string &subnode_name, Eigen::Matrix< T, Eigen::Dynamic, 1 > &eigen_v)
Interprets the data in the subnode of base_node named subnode_name as an Eigen::Vector3f and saves it...
void subnode_as_eigen_vector3f(const cv::FileNode &base_node, const std::string &subnode_name, Eigen::Vector3f &eigen_v3f)
Interprets the data in the subnode of base_node named subnode_name as an Eigen::Vector3f and saves it...
void subnode_as_float(const cv::FileNode &base_node, const std::string &subnode_name, float &f)
Interprets the data in the subnode of base_node named subnode_name as a float and saves it in f...
Helper wrapper to allocate and de-allocate octants in the octree.
Definition: colour_utils.hpp:17