10#ifndef EIGEN_ANGLEAXIS_H
11#define EIGEN_ANGLEAXIS_H
44 typedef _Scalar Scalar;
48template<
typename _Scalar>
55 using Base::operator*;
78 template<
typename Derived>
84 template<
typename QuatDerived>
87 template<
typename Derived>
96 EIGEN_DEVICE_FUNC
const Vector3&
axis()
const {
return m_axis; }
119 template<
class QuatDerived>
121 template<
typename Derived>
124 template<
typename Derived>
133 template<
typename NewScalarType>
138 template<
typename OtherScalarType>
142 m_angle =
Scalar(other.angle());
152 {
return m_axis.isApprox(other.m_axis,
prec) && internal::isApprox(m_angle,other.m_angle,
prec); }
168template<
typename Scalar>
169template<
typename QuatDerived>
172 EIGEN_USING_STD(
atan2)
183 m_axis =
q.vec() / n;
195template<
typename Scalar>
196template<
typename Derived>
207template<
typename Scalar>
208template<
typename Derived>
216template<
typename Scalar>
229 res.coeffRef(0,1) = tmp -
sin_axis.z();
230 res.coeffRef(1,0) = tmp +
sin_axis.z();
233 res.coeffRef(0,2) = tmp +
sin_axis.y();
234 res.coeffRef(2,0) = tmp -
sin_axis.y();
237 res.coeffRef(1,2) = tmp -
sin_axis.x();
238 res.coeffRef(2,1) = tmp +
sin_axis.x();
\geometry_module
Definition AngleAxis.h:50
EIGEN_DEVICE_FUNC Scalar & angle()
Definition AngleAxis.h:93
EIGEN_DEVICE_FUNC const Vector3 & axis() const
Definition AngleAxis.h:96
EIGEN_DEVICE_FUNC bool isApprox(const AngleAxis &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
Definition AngleAxis.h:151
EIGEN_DEVICE_FUNC AngleAxis()
Default constructor without initialization.
Definition AngleAxis.h:72
EIGEN_DEVICE_FUNC AngleAxis(const AngleAxis< OtherScalarType > &other)
Copy constructor with scalar type conversion.
Definition AngleAxis.h:139
EIGEN_DEVICE_FUNC Matrix3 toRotationMatrix(void) const
Constructs and.
Definition AngleAxis.h:218
EIGEN_DEVICE_FUNC AngleAxis(const QuaternionBase< QuatDerived > &q)
Constructs and initialize the angle-axis rotation from a quaternion q.
Definition AngleAxis.h:85
EIGEN_DEVICE_FUNC Vector3 & axis()
Definition AngleAxis.h:101
EIGEN_DEVICE_FUNC Scalar angle() const
Definition AngleAxis.h:91
EIGEN_DEVICE_FUNC AngleAxis inverse() const
Definition AngleAxis.h:116
EIGEN_DEVICE_FUNC AngleAxis(const Scalar &angle, const MatrixBase< Derived > &axis)
Constructs and initialize the angle-axis rotation from an angle in radian and an axis which must be n...
Definition AngleAxis.h:80
EIGEN_DEVICE_FUNC internal::cast_return_type< AngleAxis, AngleAxis< NewScalarType > >::type cast() const
Definition AngleAxis.h:134
friend EIGEN_DEVICE_FUNC QuaternionType operator*(const QuaternionType &a, const AngleAxis &b)
Concatenates two rotations.
Definition AngleAxis.h:112
_Scalar Scalar
the scalar type of the coefficients
Definition AngleAxis.h:59
EIGEN_DEVICE_FUNC AngleAxis(const MatrixBase< Derived > &m)
Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix.
Definition AngleAxis.h:88
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
RealScalar stableNorm() const
Definition StableNorm.h:213
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ArrayWrapper< Derived > array()
Definition MatrixBase.h:313
EIGEN_DEVICE_FUNC RealScalar norm() const
Definition Dot.h:103
\geometry_module
Definition Quaternion.h:274
Common base class for compact rotation representations.
Definition RotationBase.h:30
Namespace containing all symbols from the Eigen library.
Definition LDLT.h:16
Holds information about the various numeric (i.e.
Definition NumTraits.h:236
Definition XprHelper.h:510
Definition ForwardDeclarations.h:17