ethzasl-msf - Modular Sensor Fusion
Time delay compensated single and multi sensor fusion framework based on an EKF
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
msf_types.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2013 Simon Lynen, ASL, ETH Zurich, Switzerland
3  * You can contact the author at <slynen at ethz dot ch>
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 #ifndef MSF_TYPES_HPP_
18 #define MSF_TYPES_HPP_
19 
20 #include <Eigen/Dense>
21 #include <type_traits>
22 
23 #include <boost/shared_ptr.hpp>
24 #include <memory> //std::shared_ptr
25 // Switch between boost shared and std shared:
26 using boost::shared_ptr;
27 using boost::dynamic_pointer_cast;
28 
29 namespace msf_core {
30 
31 typedef Eigen::Quaternion<double> Quaternion;
32 
33 #define MSF_MAKE_EIGEN_TYPES(DIMENSION) \
34  typedef Eigen::Matrix<double, DIMENSION, DIMENSION> Matrix##DIMENSION; \
35  typedef Eigen::Matrix<double, DIMENSION, 1> Vector##DIMENSION;
36 
46 
47 }
48 #endif /* MSF_TYPES_HPP_ */