10#ifndef EIGEN_SCALING_H
11#define EIGEN_SCALING_H
37 template <
typename Scalar,
int Dim,
int Mode>
44 typedef Transform <Scalar, Dim, NewMode>
type;
48template<
typename _Scalar>
66 inline const Scalar& factor()
const {
return m_factor; }
67 inline Scalar& factor() {
return m_factor; }
78 template<
int Dim,
int Mode,
int Options>
84 res.prescale(factor());
90 template<
typename Derived>
92 {
return other * m_factor; }
94 template<
typename Derived,
int Dim>
107 template<
typename NewScalarType>
112 template<
typename OtherScalarType>
114 { m_factor =
Scalar(other.factor()); }
121 {
return internal::isApprox(m_factor, other.factor(), prec); }
133template<
typename Derived,
typename Scalar>
134EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,Scalar,product)
136{
return matrix.derived() * s.factor(); }
143template<
typename RealScalar>
148template<
typename Scalar>
152template<
typename Scalar>
159template<
typename Derived>
173template<
typename Scalar>
180 res.
linear().diagonal().fill(factor());
Represents a diagonal matrix with its storage.
Definition DiagonalMatrix.h:142
Expression of a diagonal matrix.
Definition DiagonalMatrix.h:295
Base class for all dense matrices, vectors, and expressions.
Definition MatrixBase.h:50
EIGEN_DEVICE_FUNC const DiagonalWrapper< const Derived > asDiagonal() const
Definition DiagonalMatrix.h:325
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
EIGEN_DEVICE_FUNC Derived & setZero(Index size)
Definition CwiseNullaryOp.h:562
Common base class for compact rotation representations.
Definition RotationBase.h:30
EIGEN_DEVICE_FUNC RotationMatrixType toRotationMatrix() const
Definition RotationBase.h:45
Represents a translation transformation.
Definition Translation.h:31
@ Affine
Definition Constants.h:460
@ Isometry
Definition Constants.h:457
Namespace containing all symbols from the Eigen library.
Definition common.h:81
DiagonalMatrix< double, 3 > AlignedScaling3d
Definition Scaling.h:170
UniformScaling< float > Scaling(float s)
Definition Scaling.h:139
DiagonalMatrix< float, 3 > AlignedScaling3f
Definition Scaling.h:168
DiagonalMatrix< float, 2 > AlignedScaling2f
Definition Scaling.h:164
DiagonalMatrix< double, 2 > AlignedScaling2d
Definition Scaling.h:166
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition NumTraits.h:233
Definition XprHelper.h:295