OpenWalker Project
Documentation of the ROS Packages
rotation3.h
Go to the documentation of this file.
1 
34 #ifndef OPEN_WALKER_CORE_ROTATION3_H
35 #define OPEN_WALKER_CORE_ROTATION3_H
36 
37 #include <ow_core/rotation3_ref.h>
38 
39 namespace ow_core
40 {
48 template <typename _Scalar>
49 class Rotation3 :
50  public Rotation3Ref<Eigen::Matrix<_Scalar,3,3> >
51 {
52 public:
53  typedef _Scalar Scalar;
54  typedef Eigen::Matrix<_Scalar,3,3> Derived;
56 
57 protected:
58  Derived data_;
59 
60 public:
65  Base(data_)
66  {
67  }
68 
75  template <typename OtherDerived>
76  Rotation3(const Eigen::EigenBase<OtherDerived>& other) :
77  data_(other),
78  Base(data_)
79  {
80  }
81 
87  template <typename OtherDerived>
88  Rotation3(const Eigen::RotationBase<OtherDerived, 3>& other) :
89  data_(other.toRotationMatrix()),
90  Base(data_)
91  {
92  }
93 
97  using Base::operator=;
98 
99 };
100 
101 } // namespace ow_core
102 
103 #endif // OPEN_WALKER_CORE_ROTATION3_H
The Rotation3 class.
Definition: rotation3.h:49
Rotation3()
Default Constructor.
Definition: rotation3.h:64
Definition: angular_acceleration.h:39
The Rotation3Ref class.
Definition: rotation3_ref.h:53
Rotation3(const Eigen::RotationBase< OtherDerived, 3 > &other)
Copy constructor.
Definition: rotation3.h:88
Rotation3(const Eigen::EigenBase< OtherDerived > &other)
Copy constructor.
Definition: rotation3.h:76