10 #ifndef EIGEN_ROTATION2D_H
11 #define EIGEN_ROTATION2D_H
36 template<
typename Scalar_>
struct traits<Rotation2D<Scalar_> >
38 typedef Scalar_ Scalar;
42 template<
typename Scalar_>
49 using Base::operator*;
73 template<
typename Derived>
114 template<
typename Derived>
125 template<
typename Derived>
143 template<
typename NewScalarType>
144 EIGEN_DEVICE_FUNC inline typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type
cast()
const
145 {
return typename internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type(*
this); }
148 template<
typename OtherScalarType>
176 template<
typename Scalar>
177 template<
typename Derived>
181 EIGEN_STATIC_ASSERT(Derived::RowsAtCompileTime==2 && Derived::ColsAtCompileTime==2,YOU_MADE_A_PROGRAMMING_MISTAKE)
188 template<
typename Scalar>
196 return (
Matrix2() << cosA, -sinA, sinA, cosA).finished();
const CwiseBinaryOp< atan2< Scalar >, const Derived, const OtherDerived > atan2(const EIGEN_CURRENT_STORAGE_BASE_CLASS< OtherDerived > &other) const
#define EIGEN_USING_STD(FUNC)
#define EIGEN_DEVICE_FUNC
#define EIGEN_STATIC_ASSERT(X, MSG)
Base class for all dense matrices, vectors, and expressions.
The matrix class, also used for vectors and row-vectors.
constexpr const Scalar & coeff(Index rowId, Index colId) const
Represents a rotation/orientation in a 2 dimensional space.
static Rotation2D Identity()
Rotation2D inverse() const
RotationBase< Rotation2D< Scalar_ >, 2 > Base
Scalar smallestPositiveAngle() const
Scalar smallestAngle() const
Rotation2D(const Scalar &a)
internal::cast_return_type< Rotation2D, Rotation2D< NewScalarType > >::type cast() const
Rotation2D & operator*=(const Rotation2D &other)
Matrix2 toRotationMatrix() const
Rotation2D operator*(const Rotation2D &other) const
Matrix< Scalar, 2, 2 > Matrix2
Rotation2D & fromRotationMatrix(const MatrixBase< Derived > &m)
Matrix< Scalar, 2, 1 > Vector2
Rotation2D(const Rotation2D< OtherScalarType > &other)
Rotation2D & operator=(const MatrixBase< Derived > &m)
Rotation2D slerp(const Scalar &t, const Rotation2D &other) const
bool isApprox(const Rotation2D &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
Rotation2D(const MatrixBase< Derived > &m)
Common base class for compact rotation representations.
Rotation2D< float > Rotation2Df
Rotation2D< double > Rotation2Dd
Matrix< Type, 2, 2 > Matrix2
[c++11] 2×2 matrix of type Type.
bool isApprox(const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
EIGEN_ALWAYS_INLINE T fmod(const T &a, const T &b)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_cos_op< typename Derived::Scalar >, const Derived > cos(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_sin_op< typename Derived::Scalar >, const Derived > sin(const Eigen::ArrayBase< Derived > &x)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.