RML  1.0
Robotics Mathematical Library
Loading...
Searching...
No Matches
TransfMatrix.h
Go to the documentation of this file.
1
8#ifndef INCLUDE_TransformationMatrix_H_
9#define INCLUDE_TransformationMatrix_H_
10
11#include "Types.h"
12
13namespace Eigen {
14
26class TransformationMatrix : public Eigen::Matrix4d {
27public:
29
30 // This constructor allows you to construct TransformationMatrix from Eigen expressions
31 template <typename OtherDerived>
32 TransformationMatrix(const Eigen::MatrixBase<OtherDerived>& other)
33 : Eigen::Matrix4d(other)
34 {
35 }
36 // This method allows you to assign Eigen expressions to TransformationMatrix
37 template <typename OtherDerived>
38 TransformationMatrix& operator=(const Eigen::MatrixBase<OtherDerived>& other)
39 {
40 this->Eigen::Matrix4d::operator=(other);
41 return *this;
42 }
43
45
46 void RotationMatrix(const Eigen::RotationMatrix rotationMatrix);
47
48 auto TranslationVector() const -> const Vector3d { return this->block(0, 3, 3, 1); }
49
50 auto TranslationVector(const Vector3d translationVector) -> void { this->block(0, 3, 3, 1) = translationVector; }
51
53
54 TransformationMatrix Integral(const Vector6d& inputVelocities, double dt) const;
55};
56}
57
58#endif /* INCLUDE_TransformationMatrix_H_ */
This class extends the Eigen::Matrix3d.
Definition RotMatrix.h:26
This class extends the Eigen::Matrix4d.
Definition TransfMatrix.h:26
auto TranslationVector(const Vector3d translationVector) -> void
Definition TransfMatrix.h:50
TransformationMatrix(const Eigen::MatrixBase< OtherDerived > &other)
Definition TransfMatrix.h:32
void RotationMatrix(const Eigen::RotationMatrix rotationMatrix)
TransformationMatrix & operator=(const Eigen::MatrixBase< OtherDerived > &other)
Definition TransfMatrix.h:38
Eigen::RotationMatrix RotationMatrix() const
auto TranslationVector() const -> const Vector3d
Definition TransfMatrix.h:48
TransformationMatrix Integral(const Vector6d &inputVelocities, double dt) const
Vector6d ToVector() const
A 6d vector generally used for containing pose [x y z r p y] or velocity [vx vy vz wx wy wz] vectors.
Definition Vector6d.h:18
This namespace is used to extend the Eigen Dense library functionalities.
Definition RotMatrix.h:13