EigenForwardDeclarations.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @package RobotAPI::RobotUnit
17
* @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18
* @date 2017
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
#pragma once
23
24
namespace
Eigen
25
{
26
template
<
typename
Scalar,
int
Rows,
int
Cols,
int
Options,
int
MaxRows,
int
MaxCols>
27
class
Matrix
;
28
29
30
#define ax_eigen_fwd_make_matrix_and_vector(Type, TSuff, Size, SzSuff) \
31
typedef Matrix<Type, Size, Size, 0, Size, Size> Matrix##SzSuff##TSuff; \
32
typedef Matrix<Type, Size, 1, 0, Size, 1> Vector##SzSuff##TSuff;
33
34
#define ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, Size) \
35
typedef Matrix<Type, Size, -1, 0, Size, -1> Matrix##Size##X##TypeSuffix; \
36
typedef Matrix<Type, -1, Size, 0, -1, Size> Matrix##X##Size##TypeSuffix;
37
38
#define ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES(Type, TypeSuffix) \
39
ax_eigen_fwd_make_matrix_and_vector( \
40
Type, TypeSuffix, 2, 2) ax_eigen_fwd_make_matrix_and_vector(Type, TypeSuffix, 3, 3) \
41
ax_eigen_fwd_make_matrix_and_vector( \
42
Type, TypeSuffix, 4, 4) ax_eigen_fwd_make_matrix_and_vector(Type, TypeSuffix, 5, 5) \
43
ax_eigen_fwd_make_matrix_and_vector(Type, TypeSuffix, 6, 6) \
44
ax_eigen_fwd_make_matrix_and_vector(Type, TypeSuffix, -1, X) \
45
ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, 2) \
46
ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, 3) \
47
ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, 4) \
48
ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, 5) \
49
ax_eigen_fwd_make_matrix_one_dynamic_dim(Type, TypeSuffix, 6)
50
51
ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES
(
int
, i)
52
ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES
(
float
, f)
53
ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES
(
double
, d)
54
55
#undef ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES
56
#undef ax_eigen_fwd_make_matrix_and_vector
57
#undef ax_eigen_fwd_make_matrix_one_dynamic_dim
58
59
template
<
typename
_Scalar,
int
_Options>
60
class
Quaternion
;
61
using
Quaternionf
= Quaternion<float, 0>;
62
using
Quaterniond
= Quaternion<double, 0>;
63
}
// namespace Eigen
Eigen
Definition:
Elements.h:36
armarx::VariantType::Quaternion
const VariantTypeId Quaternion
Definition:
Pose.h:39
Eigen::ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES
ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES(int, i) ax_eigen_fwd_make_matrix_and_vector_ALL_SIZES(float
armarx::Quaternion< float, 0 >
Eigen::Quaterniond
Quaternion< double, 0 > Quaterniond
Definition:
EigenForwardDeclarations.h:62
Eigen::Matrix
Definition:
EigenForwardDeclarations.h:27
RobotAPI
components
units
RobotUnit
util
EigenForwardDeclarations.h
Generated on Sat Oct 12 2024 09:14:07 for armarx_documentation by
1.8.17