25 #ifndef EIGEN_ROTATION2D_H
26 #define EIGEN_ROTATION2D_H
49 template<
typename _Scalar>
struct traits<Rotation2D<_Scalar> >
51 typedef _Scalar Scalar;
55 template<
typename _Scalar>
62 using Base::operator*;
100 template<
typename Derived>
115 template<
typename NewScalarType>
116 inline typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type
cast()
const
117 {
return typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type(*
this); }
120 template<
typename OtherScalarType>
147 template<
typename Scalar>
148 template<
typename Derived>
151 EIGEN_STATIC_ASSERT(Derived::RowsAtCompileTime==2 && Derived::ColsAtCompileTime==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
152 m_angle = internal::atan2(mat.coeff(1,0), mat.coeff(0,0));
158 template<
typename Scalar>
164 return (
Matrix2() << cosA, -sinA, sinA, cosA).finished();
169 #endif // EIGEN_ROTATION2D_H