Main MRPT website
>
C++ reference for MRPT 1.9.9
mrpt
math
eigen_frwds.h
Go to the documentation of this file.
1
/* +------------------------------------------------------------------------+
2
| Mobile Robot Programming Toolkit (MRPT) |
3
| http://www.mrpt.org/ |
4
| |
5
| Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6
| See: http://www.mrpt.org/Authors - All rights reserved. |
7
| Released under BSD License. See details in http://www.mrpt.org/License |
8
+------------------------------------------------------------------------+ */
9
#pragma once
10
11
// Eigen forward declarations:
12
#include <mrpt/config.h>
13
14
// Minimum Eigen fwrd-decls:
15
namespace
Eigen
16
{
17
template
<
typename
Derived>
18
struct
EigenBase
;
19
template
<
typename
Derived>
20
class
MatrixBase
;
21
}
22
23
namespace
mrpt
24
{
25
namespace
math
26
{
27
/** ContainerType<T>::element_t exposes the value of any STL or Eigen container
28
*/
29
template
<
typename
CONTAINER>
30
struct
ContainerType
;
31
/** Specialization for Eigen containers */
32
template
<
typename
Derived>
33
struct
ContainerType
<
Eigen
::EigenBase<Derived>>
34
{
35
using
element_t
=
typename
Derived::Scalar
;
36
};
37
38
// Dynamic size:
39
template
<
class
T>
40
class
CMatrixTemplateNumeric
;
41
using
CMatrixFloat
=
CMatrixTemplateNumeric<float>
;
42
using
CMatrixDouble
=
CMatrixTemplateNumeric<double>
;
43
template
<
typename
T>
44
class
dynamic_vector
;
45
using
CVectorFloat
=
dynamic_vector<float>
;
46
using
CVectorDouble
=
dynamic_vector<double>
;
47
48
// Fixed size:
49
template
<
typename
T,
size_t
NROWS,
size_t
NCOLS>
50
class
CMatrixFixedNumeric
;
51
52
/** @name Typedefs for common sizes
53
@{ */
54
using
CMatrixDouble22
=
CMatrixFixedNumeric<double, 2, 2>
;
55
using
CMatrixDouble23
=
CMatrixFixedNumeric<double, 2, 3>
;
56
using
CMatrixDouble32
=
CMatrixFixedNumeric<double, 3, 2>
;
57
using
CMatrixDouble33
=
CMatrixFixedNumeric<double, 3, 3>
;
58
using
CMatrixDouble44
=
CMatrixFixedNumeric<double, 4, 4>
;
59
using
CMatrixDouble66
=
CMatrixFixedNumeric<double, 6, 6>
;
60
using
CMatrixDouble77
=
CMatrixFixedNumeric<double, 7, 7>
;
61
using
CMatrixDouble13
=
CMatrixFixedNumeric<double, 1, 3>
;
62
using
CMatrixDouble31
=
CMatrixFixedNumeric<double, 3, 1>
;
63
using
CMatrixDouble12
=
CMatrixFixedNumeric<double, 1, 2>
;
64
using
CMatrixDouble21
=
CMatrixFixedNumeric<double, 2, 1>
;
65
using
CMatrixDouble61
=
CMatrixFixedNumeric<double, 6, 1>
;
66
using
CMatrixDouble16
=
CMatrixFixedNumeric<double, 1, 6>
;
67
using
CMatrixDouble71
=
CMatrixFixedNumeric<double, 7, 1>
;
68
using
CMatrixDouble17
=
CMatrixFixedNumeric<double, 1, 7>
;
69
using
CMatrixDouble51
=
CMatrixFixedNumeric<double, 5, 1>
;
70
using
CMatrixDouble15
=
CMatrixFixedNumeric<double, 1, 5>
;
71
using
CMatrixDouble41
=
CMatrixFixedNumeric<double, 4, 1>
;
72
73
using
CMatrixFloat22
=
CMatrixFixedNumeric<float, 2, 2>
;
74
using
CMatrixFloat23
=
CMatrixFixedNumeric<float, 2, 3>
;
75
using
CMatrixFloat32
=
CMatrixFixedNumeric<float, 3, 2>
;
76
using
CMatrixFloat33
=
CMatrixFixedNumeric<float, 3, 3>
;
77
using
CMatrixFloat44
=
CMatrixFixedNumeric<float, 4, 4>
;
78
using
CMatrixFloat66
=
CMatrixFixedNumeric<float, 6, 6>
;
79
using
CMatrixFloat77
=
CMatrixFixedNumeric<float, 7, 7>
;
80
using
CMatrixFloat13
=
CMatrixFixedNumeric<float, 1, 3>
;
81
using
CMatrixFloat31
=
CMatrixFixedNumeric<float, 3, 1>
;
82
using
CMatrixFloat12
=
CMatrixFixedNumeric<float, 1, 2>
;
83
using
CMatrixFloat21
=
CMatrixFixedNumeric<float, 2, 1>
;
84
using
CMatrixFloat61
=
CMatrixFixedNumeric<float, 6, 1>
;
85
using
CMatrixFloat16
=
CMatrixFixedNumeric<float, 1, 6>
;
86
using
CMatrixFloat71
=
CMatrixFixedNumeric<float, 7, 1>
;
87
using
CMatrixFloat17
=
CMatrixFixedNumeric<float, 1, 7>
;
88
using
CMatrixFloat51
=
CMatrixFixedNumeric<float, 5, 1>
;
89
using
CMatrixFloat15
=
CMatrixFixedNumeric<float, 1, 5>
;
90
/** @} */
91
}
92
}
Eigen
Definition:
eigen_frwds.h:15
mrpt::math::dynamic_vector
Column vector, like Eigen::MatrixX*, but automatically initialized to zeros since construction.
Definition:
eigen_frwds.h:44
Eigen::EigenBase
Definition:
eigen_frwds.h:18
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition:
CKalmanFilterCapable.h:30
Scalar
double Scalar
Definition:
KmUtils.h:44
mrpt::math::CMatrixTemplateNumeric
A matrix of dynamic size.
Definition:
CMatrixTemplateNumeric.h:37
mrpt::math::ContainerType< Eigen::EigenBase< Derived > >::element_t
typename Derived::Scalar element_t
Definition:
eigen_frwds.h:35
mrpt::math::ContainerType
ContainerType<T>::element_t exposes the value of any STL or Eigen container.
Definition:
eigen_frwds.h:30
mrpt::math::CMatrixFixedNumeric
A numeric matrix of compile-time fixed size.
Definition:
CMatrixFixedNumeric.h:40
Eigen::MatrixBase
Definition:
eigen_frwds.h:20
Page generated by
Doxygen 1.8.17
for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST