10 #ifndef EIGEN_ROTATIONBASE_H
11 #define EIGEN_ROTATIONBASE_H
20 template <
typename RotationDerived,
typename MatrixType,
bool IsVector = MatrixType::IsVectorAtCompileTime>
31 template <
typename Derived,
int Dim_>
73 template <
typename OtherDerived>
76 OtherDerived::IsVectorAtCompileTime>::ReturnType
82 template <
typename OtherDerived>
84 return l.
derived() *
r.toRotationMatrix();
91 res.linear().applyOnTheLeft(l);
96 template <
int Mode,
int Options>
102 template <
typename OtherVectorType>
111 template <
typename RotationDerived,
typename MatrixType>
116 return r.toRotationMatrix() *
m;
120 template <
typename RotationDerived,
typename Scalar,
int Dim,
int MaxDim>
131 template <
typename RotationDerived,
typename OtherVectorType>
136 return r._transformVector(
v);
146 template <
typename Scalar_,
int Rows_,
int Cols_,
int Storage_,
int MaxRows_,
int MaxCols_>
147 template <
typename OtherDerived>
151 *
this =
r.toRotationMatrix();
158 template <
typename Scalar_,
int Rows_,
int Cols_,
int Storage_,
int MaxRows_,
int MaxCols_>
159 template <
typename OtherDerived>
164 return *
this =
r.toRotationMatrix();
187 template <
typename Scalar,
int Dim>
193 template <
typename Scalar,
int Dim,
typename OtherDerived>
195 return r.toRotationMatrix();
198 template <
typename Scalar,
int Dim,
typename OtherDerived>
201 YOU_MADE_A_PROGRAMMING_MISTAKE)
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Eigen::SparseMatrix< double > mat
Definition: EigenUnitTest.cpp:10
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
#define EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(TYPE, ROWS, COLS)
Definition: StaticAssert.h:55
SCALAR Scalar
Definition: bench_gemm.cpp:45
MatrixXf MatrixType
Definition: benchmark-blocking-sizes.cpp:52
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:172
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Matrix & operator=(const Matrix &other)
Assigns matrices to each other.
Definition: Eigen/Eigen/src/Core/Matrix.h:210
EIGEN_DEVICE_FUNC constexpr EIGEN_STRONG_INLINE Matrix()=default
Default constructor.
Represents a rotation/orientation in a 2 dimensional space.
Definition: Rotation2D.h:44
EIGEN_DEVICE_FUNC Matrix2 toRotationMatrix() const
Definition: Rotation2D.h:191
Common base class for compact rotation representations.
Definition: RotationBase.h:32
Matrix< Scalar, Dim, 1 > VectorType
Definition: RotationBase.h:40
EIGEN_DEVICE_FUNC VectorType _transformVector(const OtherVectorType &v) const
Definition: RotationBase.h:103
EIGEN_DEVICE_FUNC RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:47
EIGEN_DEVICE_FUNC Derived inverse() const
Definition: RotationBase.h:55
EIGEN_DEVICE_FUNC RotationMatrixType operator*(const UniformScaling< Scalar > &s) const
Definition: RotationBase.h:63
EIGEN_DEVICE_FUNC const Derived & derived() const
Definition: RotationBase.h:43
EIGEN_DEVICE_FUNC Derived & derived()
Definition: RotationBase.h:44
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Derived, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType operator*(const EigenBase< OtherDerived > &e) const
Definition: RotationBase.h:77
Matrix< Scalar, Dim, Dim > RotationMatrixType
Definition: RotationBase.h:39
EIGEN_DEVICE_FUNC friend Transform< Scalar, Dim, Affine > operator*(const DiagonalMatrix< Scalar, Dim > &l, const Derived &r)
Definition: RotationBase.h:88
internal::traits< Derived >::Scalar Scalar
Definition: RotationBase.h:36
EIGEN_DEVICE_FUNC RotationMatrixType matrix() const
Definition: RotationBase.h:52
@ Dim
Definition: RotationBase.h:34
EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > operator*(const Transform< Scalar, Dim, Mode, Options > &t) const
Definition: RotationBase.h:97
EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometry > operator*(const Translation< Scalar, Dim > &t) const
Definition: RotationBase.h:58
friend EIGEN_DEVICE_FUNC RotationMatrixType operator*(const EigenBase< OtherDerived > &l, const Derived &r)
Definition: RotationBase.h:83
Represents a translation transformation.
Definition: Translation.h:33
RealScalar s
Definition: level1_cplx_impl.h:130
int * m
Definition: level2_cplx_impl.h:294
static EIGEN_DEVICE_FUNC Matrix< Scalar, 2, 2 > toRotationMatrix(const Scalar &s)
Definition: RotationBase.h:188
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
static const unsigned Dim
Problem dimension.
Definition: two_d_tilted_square.cc:62
Definition: Eigen_Colamd.h:49
t
Definition: plotPSD.py:36
Definition: EigenBase.h:33
constexpr EIGEN_DEVICE_FUNC Derived & derived()
Definition: EigenBase.h:49
Transform< Scalar, Dim, Affine > ReturnType
Definition: RotationBase.h:122
static EIGEN_DEVICE_FUNC ReturnType run(const RotationDerived &r, const DiagonalMatrix< Scalar, Dim, MaxDim > &m)
Definition: RotationBase.h:123
Matrix< typename RotationDerived::Scalar, Dim, Dim > ReturnType
Definition: RotationBase.h:114
static EIGEN_DEVICE_FUNC ReturnType run(const RotationDerived &r, const MatrixType &m)
Definition: RotationBase.h:115
Matrix< typename RotationDerived::Scalar, Dim, 1 > ReturnType
Definition: RotationBase.h:134
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE ReturnType run(const RotationDerived &r, const OtherVectorType &v)
Definition: RotationBase.h:135
Definition: RotationBase.h:21
Definition: ForwardDeclarations.h:21
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317