Robotics Library  0.7.0
Matrix.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009, Markus Rickert
3 // All rights reserved.
4 //
5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are met:
7 //
8 // * Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright notice,
11 // this list of conditions and the following disclaimer in the documentation
12 // and/or other materials provided with the distribution.
13 //
14 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24 // POSSIBILITY OF SUCH DAMAGE.
25 //
26 
27 #ifndef RL_MATH_MATRIX_H
28 #define RL_MATH_MATRIX_H
29 
30 #define EIGEN_MATRIXBASE_PLUGIN <rl/math/MatrixBaseAddons.h>
31 #define EIGEN_QUATERNIONBASE_PLUGIN <rl/math/QuaternionBaseAddons.h>
32 #define EIGEN_TRANSFORM_PLUGIN <rl/math/TransformAddons.h>
33 
34 #include <Eigen/Core>
35 
36 #include "Real.h"
37 
38 namespace rl
39 {
40  namespace math
41  {
42  typedef ::Eigen::Matrix<Real, ::Eigen::Dynamic, ::Eigen::Dynamic> Matrix;
43 
44  typedef ::Eigen::Matrix<Real, 2, 2> Matrix22;
45 
46  typedef ::Eigen::Matrix<Real, 3, 3> Matrix33;
47 
48  typedef ::Eigen::Matrix<Real, 4, 4> Matrix44;
49 
50  typedef ::Eigen::Matrix<Real, 6, 6> Matrix66;
51 
52  typedef ::Eigen::Block<Matrix> MatrixBlock;
53 
54  typedef ::Eigen::Block<Matrix22> Matrix22Block;
55 
56  typedef ::Eigen::Block<Matrix33> Matrix33Block;
57 
58  typedef ::Eigen::Block<Matrix44> Matrix44Block;
59 
60  typedef ::Eigen::Block<Matrix66> Matrix66Block;
61 
62  typedef Matrix::ColXpr MatrixColumn;
63 
64  typedef Matrix22::ColXpr Matrix22Column;
65 
66  typedef Matrix33::ColXpr Matrix33Column;
67 
68  typedef Matrix44::ColXpr Matrix44Column;
69 
70  typedef Matrix66::ColXpr Matrix66Column;
71 
72  typedef Matrix::RowXpr MatrixRow;
73 
74  typedef Matrix22::RowXpr Matrix22Row;
75 
76  typedef Matrix33::RowXpr Matrix33Row;
77 
78  typedef Matrix44::RowXpr Matrix44Row;
79 
80  typedef Matrix66::RowXpr Matrix66Row;
81 
82  typedef ::Eigen::Block<const Matrix> ConstMatrixBlock;
83 
84  typedef ::Eigen::Block<const Matrix22> ConstMatrix22Block;
85 
86  typedef ::Eigen::Block<const Matrix33> ConstMatrix33Block;
87 
88  typedef ::Eigen::Block<const Matrix44> ConstMatrix44Block;
89 
90  typedef ::Eigen::Block<const Matrix66> ConstMatrix66Block;
91 
92  typedef Matrix::ConstColXpr ConstMatrixColumn;
93 
94  typedef Matrix22::ConstColXpr ConstMatrix22Column;
95 
96  typedef Matrix33::ConstColXpr ConstMatrix33Column;
97 
98  typedef Matrix44::ConstColXpr ConstMatrix44Column;
99 
100  typedef Matrix66::ConstColXpr ConstMatrix66Column;
101 
102  typedef Matrix::ConstRowXpr ConstMatrixRow;
103 
104  typedef Matrix22::ConstRowXpr ConstMatrix22Row;
105 
106  typedef Matrix33::ConstRowXpr ConstMatrix33Row;
107 
108  typedef Matrix44::ConstRowXpr ConstMatrix44Row;
109 
110  typedef Matrix66::ConstRowXpr ConstMatrix66Row;
111 
112  typedef ::Eigen::Ref<Matrix> MatrixRef;
113 
114  typedef ::Eigen::Ref<const Matrix> ConstMatrixRef;
115  }
116 }
117 
118 #endif // RL_MATH_MATRIX_H
rl::math::Matrix
::Eigen::Matrix< Real, ::Eigen::Dynamic, ::Eigen::Dynamic > Matrix
Definition: Matrix.h:42
rl::math::ConstMatrix33Column
Matrix33::ConstColXpr ConstMatrix33Column
Definition: Matrix.h:96
rl::math::ConstMatrixColumn
Matrix::ConstColXpr ConstMatrixColumn
Definition: Matrix.h:92
rl::math::Matrix66Column
Matrix66::ColXpr Matrix66Column
Definition: Matrix.h:70
rl::math::Matrix22Block
::Eigen::Block< Matrix22 > Matrix22Block
Definition: Matrix.h:54
rl::math::ConstMatrixRow
Matrix::ConstRowXpr ConstMatrixRow
Definition: Matrix.h:102
rl::math::MatrixColumn
Matrix::ColXpr MatrixColumn
Definition: Matrix.h:62
rl::math::MatrixBlock
::Eigen::Block< Matrix > MatrixBlock
Definition: Matrix.h:52
rl::math::ConstMatrix66Row
Matrix66::ConstRowXpr ConstMatrix66Row
Definition: Matrix.h:110
rl::math::ConstMatrix44Row
Matrix44::ConstRowXpr ConstMatrix44Row
Definition: Matrix.h:108
rl::math::ConstMatrix33Block
::Eigen::Block< const Matrix33 > ConstMatrix33Block
Definition: Matrix.h:86
rl::math::ConstMatrix66Column
Matrix66::ConstColXpr ConstMatrix66Column
Definition: Matrix.h:100
rl::math::ConstMatrix66Block
::Eigen::Block< const Matrix66 > ConstMatrix66Block
Definition: Matrix.h:90
rl::math::Matrix33Block
::Eigen::Block< Matrix33 > Matrix33Block
Definition: Matrix.h:56
rl::math::Matrix44Block
::Eigen::Block< Matrix44 > Matrix44Block
Definition: Matrix.h:58
rl::math::ConstMatrixBlock
::Eigen::Block< const Matrix > ConstMatrixBlock
Definition: Matrix.h:82
rl::math::Matrix66Row
Matrix66::RowXpr Matrix66Row
Definition: Matrix.h:80
rl::math::Matrix66
::Eigen::Matrix< Real, 6, 6 > Matrix66
Definition: Matrix.h:50
rl::math::ConstMatrix44Block
::Eigen::Block< const Matrix44 > ConstMatrix44Block
Definition: Matrix.h:88
rl::math::MatrixRow
Matrix::RowXpr MatrixRow
Definition: Matrix.h:72
rl::math::ConstMatrixRef
::Eigen::Ref< const Matrix > ConstMatrixRef
Definition: Matrix.h:114
rl::math::MatrixRef
::Eigen::Ref< Matrix > MatrixRef
Definition: Matrix.h:112
rl::math::Matrix33Row
Matrix33::RowXpr Matrix33Row
Definition: Matrix.h:76
Real.h
rl::math::ConstMatrix44Column
Matrix44::ConstColXpr ConstMatrix44Column
Definition: Matrix.h:98
rl::math::Matrix33Column
Matrix33::ColXpr Matrix33Column
Definition: Matrix.h:66
rl::math::Matrix44Column
Matrix44::ColXpr Matrix44Column
Definition: Matrix.h:68
rl::math::Matrix22Row
Matrix22::RowXpr Matrix22Row
Definition: Matrix.h:74
rl::math::ConstMatrix22Block
::Eigen::Block< const Matrix22 > ConstMatrix22Block
Definition: Matrix.h:84
rl::math::Matrix44
::Eigen::Matrix< Real, 4, 4 > Matrix44
Definition: Matrix.h:48
rl::math::ConstMatrix33Row
Matrix33::ConstRowXpr ConstMatrix33Row
Definition: Matrix.h:106
rl::math::ConstMatrix22Column
Matrix22::ConstColXpr ConstMatrix22Column
Definition: Matrix.h:94
rl::math::Matrix22Column
Matrix22::ColXpr Matrix22Column
Definition: Matrix.h:64
rl::math::ConstMatrix22Row
Matrix22::ConstRowXpr ConstMatrix22Row
Definition: Matrix.h:104
rl::math::Matrix22
::Eigen::Matrix< Real, 2, 2 > Matrix22
Definition: Matrix.h:44
rl::math::Matrix44Row
Matrix44::RowXpr Matrix44Row
Definition: Matrix.h:78
rl::math::Matrix66Block
::Eigen::Block< Matrix66 > Matrix66Block
Definition: Matrix.h:60
rl::math::Matrix33
::Eigen::Matrix< Real, 3, 3 > Matrix33
Definition: Matrix.h:46
rl
Robotics Library.
Definition: AnalogInput.cpp:30