10 #ifndef EIGEN_SCALING_H
11 #define EIGEN_SCALING_H
13 #include "./InternalHeaderCheck.h"
39 template <
typename Scalar,
int Dim,
int Mode>
40 struct uniformscaling_times_affine_returntype
46 typedef Transform <Scalar, Dim, NewMode> type;
50 template<
typename Scalar_>
68 inline const Scalar& factor()
const {
return m_factor; }
69 inline Scalar& factor() {
return m_factor; }
80 template<
int Dim,
int Mode,
int Options>
86 res.prescale(factor());
92 template<
typename Derived>
94 {
return other * m_factor; }
96 template<
typename Derived,
int Dim>
109 template<
typename NewScalarType>
114 template<
typename OtherScalarType>
116 { m_factor =
Scalar(other.factor()); }
123 {
return internal::isApprox(m_factor, other.factor(), prec); }
135 template<
typename Derived,
typename Scalar>
136 EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,Scalar,product)
138 {
return matrix.derived() * s.factor(); }
145 template<
typename RealScalar>
150 template<
typename Scalar>
154 template<
typename Scalar>
161 template<
typename Derived>
166 template<
typename Derived>
180 template<
typename Scalar>
187 res.
linear().diagonal().fill(factor());
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:144
Expression of a diagonal matrix.
Definition: DiagonalMatrix.h:297
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
const DiagonalWrapper< const Derived > asDiagonal() const
Definition: DiagonalMatrix.h:327
The matrix class, also used for vectors and row-vectors.
Definition: Matrix.h:182
Derived & setZero(Index size)
Definition: CwiseNullaryOp.h:564
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:462
@ Isometry
Definition: Constants.h:459
Namespace containing all symbols from the Eigen library.
Definition: Core:139
UniformScaling< float > Scaling(float s)
Definition: Scaling.h:141
DiagonalMatrix< double, 3 > AlignedScaling3d
Definition: Scaling.h:177
DiagonalMatrix< float, 3 > AlignedScaling3f
Definition: Scaling.h:175
DiagonalMatrix< float, 2 > AlignedScaling2f
Definition: Scaling.h:171
DiagonalMatrix< double, 2 > AlignedScaling2d
Definition: Scaling.h:173
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:231