Robotics Library  0.7.0
Vector.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_VECTOR_H
28 #define RL_MATH_VECTOR_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, 1> Vector;
43 
44  typedef ::Eigen::Matrix<Real, 2, 1> Vector2;
45 
46  typedef ::Eigen::Matrix<Real, 3, 1> Vector3;
47 
48  typedef ::Eigen::Matrix<Real, 4, 1> Vector4;
49 
50  typedef ::Eigen::Matrix<Real, 6, 1> Vector6;
51 
52  typedef ::Eigen::VectorBlock<Vector, ::Eigen::Dynamic> VectorBlock;
53 
54  typedef ::Eigen::VectorBlock<Vector2, ::Eigen::Dynamic> Vector2Block;
55 
56  typedef ::Eigen::VectorBlock<Vector3, ::Eigen::Dynamic> Vector3Block;
57 
58  typedef ::Eigen::VectorBlock<Vector4, ::Eigen::Dynamic> Vector4Block;
59 
60  typedef ::Eigen::VectorBlock<Vector6, ::Eigen::Dynamic> Vector6Block;
61 
62  typedef ::Eigen::VectorBlock<const Vector, ::Eigen::Dynamic> ConstVectorBlock;
63 
64  typedef ::Eigen::VectorBlock<const Vector2, ::Eigen::Dynamic> ConstVector2Block;
65 
66  typedef ::Eigen::VectorBlock<const Vector3, ::Eigen::Dynamic> ConstVector3Block;
67 
68  typedef ::Eigen::VectorBlock<const Vector4, ::Eigen::Dynamic> ConstVector4Block;
69 
70  typedef ::Eigen::VectorBlock<const Vector6, ::Eigen::Dynamic> ConstVector6Block;
71 
72  typedef ::Eigen::Ref<Vector> VectorRef;
73 
74  typedef ::Eigen::Ref<const Vector> ConstVectorRef;
75  }
76 }
77 
78 #endif // RL_MATH_VECTOR_H
rl::math::ConstVectorRef
::Eigen::Ref< const Vector > ConstVectorRef
Definition: Vector.h:74
rl::math::Vector3
::Eigen::Matrix< Real, 3, 1 > Vector3
Definition: Vector.h:46
rl::math::Vector3Block
::Eigen::VectorBlock< Vector3, ::Eigen::Dynamic > Vector3Block
Definition: Vector.h:56
rl::math::ConstVectorBlock
::Eigen::VectorBlock< const Vector, ::Eigen::Dynamic > ConstVectorBlock
Definition: Vector.h:62
rl::math::Vector6Block
::Eigen::VectorBlock< Vector6, ::Eigen::Dynamic > Vector6Block
Definition: Vector.h:60
rl::math::ConstVector4Block
::Eigen::VectorBlock< const Vector4, ::Eigen::Dynamic > ConstVector4Block
Definition: Vector.h:68
rl::math::Vector
::Eigen::Matrix< Real, ::Eigen::Dynamic, 1 > Vector
Definition: Vector.h:42
rl::math::Vector4
::Eigen::Matrix< Real, 4, 1 > Vector4
Definition: Vector.h:48
rl::math::Vector4Block
::Eigen::VectorBlock< Vector4, ::Eigen::Dynamic > Vector4Block
Definition: Vector.h:58
rl::math::Vector6
::Eigen::Matrix< Real, 6, 1 > Vector6
Definition: Vector.h:50
rl::math::Vector2Block
::Eigen::VectorBlock< Vector2, ::Eigen::Dynamic > Vector2Block
Definition: Vector.h:54
rl::math::ConstVector3Block
::Eigen::VectorBlock< const Vector3, ::Eigen::Dynamic > ConstVector3Block
Definition: Vector.h:66
rl::math::Vector2
::Eigen::Matrix< Real, 2, 1 > Vector2
Definition: Vector.h:44
rl::math::ConstVector2Block
::Eigen::VectorBlock< const Vector2, ::Eigen::Dynamic > ConstVector2Block
Definition: Vector.h:64
Real.h
rl::math::ConstVector6Block
::Eigen::VectorBlock< const Vector6, ::Eigen::Dynamic > ConstVector6Block
Definition: Vector.h:70
rl::math::VectorRef
::Eigen::Ref< Vector > VectorRef
Definition: Vector.h:72
rl::math::VectorBlock
::Eigen::VectorBlock< Vector, ::Eigen::Dynamic > VectorBlock
Definition: Vector.h:52
rl
Robotics Library.
Definition: AnalogInput.cpp:30