10#ifndef EIGEN_SCALING_H
11#define EIGEN_SCALING_H
14#include "./InternalHeaderCheck.h"
39template <
typename Scalar,
int Dim,
int Mode>
40struct uniformscaling_times_affine_returntype {
42 typedef Transform<Scalar, Dim, NewMode> type;
46template <
typename Scalar_>
61 inline const Scalar& factor()
const {
return m_factor; }
62 inline Scalar& factor() {
return m_factor; }
74 template <
int Dim,
int Mode,
int Options>
78 res.prescale(factor());
84 template <
typename Derived>
86 return other * m_factor;
89 template <
typename Derived,
int Dim>
102 template <
typename NewScalarType>
108 template <
typename OtherScalarType>
110 m_factor =
Scalar(other.factor());
119 return internal::isApprox(m_factor, other.factor(), prec);
131template <
typename Derived,
typename Scalar>
132EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived, Scalar, product)
134 return matrix.derived() * s.factor();
142template <
typename RealScalar>
148template <
typename Scalar>
153template <
typename Scalar>
161template <
typename Derived>
167template <
typename Derived>
182template <
typename Scalar>
187 res.
linear().diagonal().fill(factor());
189 res(Dim, Dim) =
Scalar(1);
Represents a diagonal matrix with its storage.
Definition DiagonalMatrix.h:172
Expression of a diagonal matrix.
Definition DiagonalMatrix.h:317
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:52
const DiagonalWrapper< const Derived > asDiagonal() const
Definition DiagonalMatrix.h:344
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:186
Derived & setZero(Index size)
Definition CwiseNullaryOp.h:563
Common base class for compact rotation representations.
Definition RotationBase.h:32
RotationMatrixType toRotationMatrix() const
Definition RotationBase.h:47
Represents a translation transformation.
Definition Translation.h:33
@ Affine
Definition Constants.h:458
@ Isometry
Definition Constants.h:455
Namespace containing all symbols from the Eigen library.
Definition Core:137
UniformScaling< float > Scaling(float s)
Definition Scaling.h:138
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition Meta.h:523