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;
50template<
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); }
135template<
typename Derived,
typename Scalar>
136EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,Scalar,product)
138{
return matrix.derived() * s.factor(); }
145template<
typename RealScalar>
150template<
typename Scalar>
154template<
typename Scalar>
161template<
typename Derived>
175template<
typename Scalar>
182 res.
linear().diagonal().fill(factor());
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:144
Expression of a diagonal matrix.
Definition: DiagonalMatrix.h:295
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
const DiagonalWrapper< const Derived > asDiagonal() const
Definition: DiagonalMatrix.h:325
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: B01_Experimental.dox:1
DiagonalMatrix< double, 3 > AlignedScaling3d
Definition: Scaling.h:172
UniformScaling< float > Scaling(float s)
Definition: Scaling.h:141
DiagonalMatrix< float, 3 > AlignedScaling3f
Definition: Scaling.h:170
DiagonalMatrix< float, 2 > AlignedScaling2f
Definition: Scaling.h:166
DiagonalMatrix< double, 2 > AlignedScaling2d
Definition: Scaling.h:168
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:235