Robotics Library  0.6.2
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 
33 #include <Eigen/Core>
34 
35 #include "Real.h"
36 
37 namespace rl
38 {
39  namespace math
40  {
41  typedef ::Eigen::Matrix< Real, ::Eigen::Dynamic, ::Eigen::Dynamic > Matrix;
42 
43  typedef ::Eigen::Matrix< Real, 2, 2 > Matrix22;
44 
45  typedef ::Eigen::Matrix< Real, 3, 3 > Matrix33;
46 
47  typedef ::Eigen::Matrix< Real, 4, 4 > Matrix44;
48 
49  typedef ::Eigen::Matrix< Real, 6, 6 > Matrix66;
50 
51  typedef ::Eigen::Block< Matrix > MatrixBlock;
52 
53  typedef ::Eigen::Block< Matrix22 > Matrix22Block;
54 
55  typedef ::Eigen::Block< Matrix33 > Matrix33Block;
56 
57  typedef ::Eigen::Block< Matrix44 > Matrix44Block;
58 
59  typedef ::Eigen::Block< Matrix66 > Matrix66Block;
60 
61  typedef Matrix::ColXpr MatrixColumn;
62 
63  typedef Matrix22::ColXpr Matrix22Column;
64 
65  typedef Matrix33::ColXpr Matrix33Column;
66 
67  typedef Matrix44::ColXpr Matrix44Column;
68 
69  typedef Matrix66::ColXpr Matrix66Column;
70 
71  typedef Matrix::RowXpr MatrixRow;
72 
73  typedef Matrix22::RowXpr Matrix22Row;
74 
75  typedef Matrix33::RowXpr Matrix33Row;
76 
77  typedef Matrix44::RowXpr Matrix44Row;
78 
79  typedef Matrix66::RowXpr Matrix66Row;
80 
81  typedef const ::Eigen::Block< const Matrix > ConstMatrixBlock;
82 
83  typedef const ::Eigen::Block< const Matrix22 > ConstMatrix22Block;
84 
85  typedef const ::Eigen::Block< const Matrix33 > ConstMatrix33Block;
86 
87  typedef const ::Eigen::Block< const Matrix44 > ConstMatrix44Block;
88 
89  typedef const ::Eigen::Block< const Matrix66 > ConstMatrix66Block;
90 
91  typedef Matrix::ConstColXpr ConstMatrixColumn;
92 
93  typedef Matrix22::ConstColXpr ConstMatrix22Column;
94 
95  typedef Matrix33::ConstColXpr ConstMatrix33Column;
96 
97  typedef Matrix44::ConstColXpr ConstMatrix44Column;
98 
99  typedef Matrix66::ConstColXpr ConstMatrix66Column;
100 
101  typedef Matrix::ConstRowXpr ConstMatrixRow;
102 
103  typedef Matrix22::ConstRowXpr ConstMatrix22Row;
104 
105  typedef Matrix33::ConstRowXpr ConstMatrix33Row;
106 
107  typedef Matrix44::ConstRowXpr ConstMatrix44Row;
108 
109  typedef Matrix66::ConstRowXpr ConstMatrix66Row;
110  }
111 }
112 
113 #endif // _RL_MATH_MATRIX_H_
rl::math::ConstMatrix33Column
Matrix33::ConstColXpr ConstMatrix33Column
Definition: Matrix.h:95
rl::math::ConstMatrixColumn
Matrix::ConstColXpr ConstMatrixColumn
Definition: Matrix.h:91
rl::math::Matrix66
::Eigen::Matrix< Real, 6, 6 > Matrix66
Definition: Matrix.h:49
rl::math::Matrix66Column
Matrix66::ColXpr Matrix66Column
Definition: Matrix.h:69
rl::math::Matrix44Block
::Eigen::Block< Matrix44 > Matrix44Block
Definition: Matrix.h:57
rl::math::ConstMatrix66Block
const ::Eigen::Block< const Matrix66 > ConstMatrix66Block
Definition: Matrix.h:89
rl::math::ConstMatrixRow
Matrix::ConstRowXpr ConstMatrixRow
Definition: Matrix.h:101
rl::math::Matrix44
::Eigen::Matrix< Real, 4, 4 > Matrix44
Definition: Matrix.h:47
rl::math::Matrix22Block
::Eigen::Block< Matrix22 > Matrix22Block
Definition: Matrix.h:53
rl::math::Matrix22
::Eigen::Matrix< Real, 2, 2 > Matrix22
Definition: Matrix.h:43
rl::math::MatrixColumn
Matrix::ColXpr MatrixColumn
Definition: Matrix.h:61
rl::math::ConstMatrix33Block
const ::Eigen::Block< const Matrix33 > ConstMatrix33Block
Definition: Matrix.h:85
rl::math::ConstMatrix22Block
const ::Eigen::Block< const Matrix22 > ConstMatrix22Block
Definition: Matrix.h:83
rl::math::ConstMatrix66Row
Matrix66::ConstRowXpr ConstMatrix66Row
Definition: Matrix.h:109
rl::math::ConstMatrix44Row
Matrix44::ConstRowXpr ConstMatrix44Row
Definition: Matrix.h:107
rl::math::MatrixBlock
::Eigen::Block< Matrix > MatrixBlock
Definition: Matrix.h:51
rl::math::ConstMatrix66Column
Matrix66::ConstColXpr ConstMatrix66Column
Definition: Matrix.h:99
rl::math::Matrix66Block
::Eigen::Block< Matrix66 > Matrix66Block
Definition: Matrix.h:59
rl::math::ConstMatrixBlock
const ::Eigen::Block< const Matrix > ConstMatrixBlock
Definition: Matrix.h:81
rl::math::Matrix66Row
Matrix66::RowXpr Matrix66Row
Definition: Matrix.h:79
rl::math::Matrix
::Eigen::Matrix< Real, ::Eigen::Dynamic, ::Eigen::Dynamic > Matrix
Definition: Matrix.h:41
rl::math::MatrixRow
Matrix::RowXpr MatrixRow
Definition: Matrix.h:71
rl::math::ConstMatrix44Block
const ::Eigen::Block< const Matrix44 > ConstMatrix44Block
Definition: Matrix.h:87
rl::math::Matrix33
::Eigen::Matrix< Real, 3, 3 > Matrix33
Definition: Matrix.h:45
rl::math::Matrix33Row
Matrix33::RowXpr Matrix33Row
Definition: Matrix.h:75
Real.h
rl::math::ConstMatrix44Column
Matrix44::ConstColXpr ConstMatrix44Column
Definition: Matrix.h:97
rl::math::Matrix33Column
Matrix33::ColXpr Matrix33Column
Definition: Matrix.h:65
rl::math::Matrix44Column
Matrix44::ColXpr Matrix44Column
Definition: Matrix.h:67
rl::math::Matrix22Row
Matrix22::RowXpr Matrix22Row
Definition: Matrix.h:73
rl::math::ConstMatrix33Row
Matrix33::ConstRowXpr ConstMatrix33Row
Definition: Matrix.h:105
rl::math::ConstMatrix22Column
Matrix22::ConstColXpr ConstMatrix22Column
Definition: Matrix.h:93
rl::math::Matrix22Column
Matrix22::ColXpr Matrix22Column
Definition: Matrix.h:63
rl::math::ConstMatrix22Row
Matrix22::ConstRowXpr ConstMatrix22Row
Definition: Matrix.h:103
rl::math::Matrix33Block
::Eigen::Block< Matrix33 > Matrix33Block
Definition: Matrix.h:55
rl::math::Matrix44Row
Matrix44::RowXpr Matrix44Row
Definition: Matrix.h:77
rl
Definition: Ati.cpp:35