25 #ifndef EIGEN_ANGLEAXIS_H
26 #define EIGEN_ANGLEAXIS_H
57 template<
typename _Scalar>
struct traits<AngleAxis<_Scalar> >
59 typedef _Scalar Scalar;
63 template<
typename _Scalar>
70 using Base::operator*;
93 template<
typename Derived>
98 template<
typename Derived>
123 template<
class QuatDerived>
125 template<
typename Derived>
128 template<
typename Derived>
137 template<
typename NewScalarType>
138 inline typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type
cast()
const
139 {
return typename internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type(*
this); }
142 template<
typename OtherScalarType>
145 m_axis = other.
axis().template cast<Scalar>();
172 template<
typename Scalar>
173 template<
typename QuatDerived>
195 template<
typename Scalar>
196 template<
typename Derived>
207 template<
typename Scalar>
208 template<
typename Derived>
216 template<
typename Scalar>
226 tmp = cos1_axis.x() * m_axis.y();
227 res.
coeffRef(0,1) = tmp - sin_axis.z();
228 res.
coeffRef(1,0) = tmp + sin_axis.z();
230 tmp = cos1_axis.x() * m_axis.z();
231 res.
coeffRef(0,2) = tmp + sin_axis.y();
232 res.
coeffRef(2,0) = tmp - sin_axis.y();
234 tmp = cos1_axis.y() * m_axis.z();
235 res.
coeffRef(1,2) = tmp - sin_axis.x();
236 res.
coeffRef(2,1) = tmp + sin_axis.x();
238 res.
diagonal() = (cos1_axis.cwiseProduct(m_axis)).array() + c;
245 #endif // EIGEN_ANGLEAXIS_H