Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::UniformScaling< _Scalar > Class Template Reference

#include <src/eigen/Eigen/src/Geometry/Scaling.h>

Public Types

typedef _Scalar Scalar
 

Public Member Functions

 UniformScaling ()
 
 UniformScaling (const Scalar &s)
 
const Scalarfactor () const
 
Scalarfactor ()
 
UniformScaling operator* (const UniformScaling &other) const
 
template<int Dim>
Transform< Scalar, Dim, Affineoperator* (const Translation< Scalar, Dim > &t) const
 
template<int Dim, int Mode, int Options>
Transform< Scalar, Dim,(int(Mode)==int(Isometry)?Affine:Mode)> operator* (const Transform< Scalar, Dim, Mode, Options > &t) const
 
template<typename Derived >
internal::plain_matrix_type< Derived >::type operator* (const MatrixBase< Derived > &other) const
 
template<typename Derived , int Dim>
Matrix< Scalar, Dim, Dim > operator* (const RotationBase< Derived, Dim > &r) const
 
UniformScaling inverse () const
 
template<typename NewScalarType >
UniformScaling< NewScalarType > cast () const
 
template<typename OtherScalarType >
 UniformScaling (const UniformScaling< OtherScalarType > &other)
 
bool isApprox (const UniformScaling &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
 

Protected Attributes

Scalar m_factor
 

Related Symbols

(Note that these are not member symbols.)

template<typename Derived , typename Scalar >
 operator* (const MatrixBase< Derived > &matrix, const UniformScaling< Scalar > &s)
 

Detailed Description

template<typename _Scalar>
class Eigen::UniformScaling< _Scalar >

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
typedef _Scalar Eigen::UniformScaling< _Scalar >::Scalar

the scalar type of the coefficients

Constructor & Destructor Documentation

◆ UniformScaling() [1/3]

template<typename _Scalar >
Eigen::UniformScaling< _Scalar >::UniformScaling ( )
inline

Default constructor without initialization.

46{}

Referenced by Eigen::UniformScaling< _Scalar >::inverse(), and Eigen::UniformScaling< _Scalar >::operator*().

+ Here is the caller graph for this function:

◆ UniformScaling() [2/3]

template<typename _Scalar >
Eigen::UniformScaling< _Scalar >::UniformScaling ( const Scalar s)
inlineexplicit

Constructs and initialize a uniform scaling transformation

48: m_factor(s) {}
Scalar m_factor
Definition Scaling.h:41

◆ UniformScaling() [3/3]

template<typename _Scalar >
template<typename OtherScalarType >
Eigen::UniformScaling< _Scalar >::UniformScaling ( const UniformScaling< OtherScalarType > &  other)
inlineexplicit

Copy constructor with scalar type conversion

96 { m_factor = Scalar(other.factor()); }
_Scalar Scalar
Definition Scaling.h:37

References Eigen::UniformScaling< _Scalar >::factor(), and Eigen::UniformScaling< _Scalar >::m_factor.

+ Here is the call graph for this function:

Member Function Documentation

◆ cast()

template<typename _Scalar >
template<typename NewScalarType >
UniformScaling< NewScalarType > Eigen::UniformScaling< _Scalar >::cast ( ) const
inline
Returns
*this with scalar type casted to NewScalarType

Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.

91 { return UniformScaling<NewScalarType>(NewScalarType(m_factor)); }

References Eigen::UniformScaling< _Scalar >::m_factor.

◆ factor() [1/2]

template<typename _Scalar >
Scalar & Eigen::UniformScaling< _Scalar >::factor ( )
inline

◆ factor() [2/2]

◆ inverse()

template<typename _Scalar >
UniformScaling Eigen::UniformScaling< _Scalar >::inverse ( ) const
inline
Returns
the inverse scaling
82 { return UniformScaling(Scalar(1)/m_factor); }
UniformScaling()
Definition Scaling.h:46

References Eigen::UniformScaling< _Scalar >::UniformScaling(), and Eigen::UniformScaling< _Scalar >::m_factor.

+ Here is the call graph for this function:

◆ isApprox()

template<typename _Scalar >
bool Eigen::UniformScaling< _Scalar >::isApprox ( const UniformScaling< _Scalar > &  other,
const typename NumTraits< Scalar >::Real &  prec = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
true if *this is approximately equal to other, within the precision determined by prec.
See also
MatrixBase::isApprox()
103 { return internal::isApprox(m_factor, other.factor(), prec); }
EIGEN_DEVICE_FUNC bool isApprox(const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
Definition MathFunctions.h:1361

References Eigen::UniformScaling< _Scalar >::factor(), Eigen::internal::isApprox(), and Eigen::UniformScaling< _Scalar >::m_factor.

+ Here is the call graph for this function:

◆ operator*() [1/5]

template<typename _Scalar >
template<typename Derived >
internal::plain_matrix_type< Derived >::type Eigen::UniformScaling< _Scalar >::operator* ( const MatrixBase< Derived > &  other) const
inline

Concatenates a uniform scaling and a linear transformation matrix

74 { return other * m_factor; }

References Eigen::UniformScaling< _Scalar >::m_factor.

◆ operator*() [2/5]

template<typename _Scalar >
template<typename Derived , int Dim>
Matrix< Scalar, Dim, Dim > Eigen::UniformScaling< _Scalar >::operator* ( const RotationBase< Derived, Dim > &  r) const
inline
78 { return r.toRotationMatrix() * m_factor; }

References Eigen::UniformScaling< _Scalar >::m_factor, and Eigen::RotationBase< Derived, _Dim >::toRotationMatrix().

+ Here is the call graph for this function:

◆ operator*() [3/5]

template<typename _Scalar >
template<int Dim, int Mode, int Options>
Transform< Scalar, Dim,(int(Mode)==int(Isometry)?Affine:Mode)> Eigen::UniformScaling< _Scalar >::operator* ( const Transform< Scalar, Dim, Mode, Options > &  t) const
inline

Concatenates a uniform scaling and an affine transformation

63 :Mode)> operator* (const Transform<Scalar,Dim, Mode, Options>& t) const
64 {
65 Transform<Scalar,Dim,(int(Mode)==int(Isometry)?Affine:Mode)> res = t;
66 res.prescale(factor());
67 return res;
68 }
const Scalar & factor() const
Definition Scaling.h:50
@ Affine
Definition Constants.h:450
@ Isometry
Definition Constants.h:447
Mode
Definition CustomGCode.hpp:48
const constexpr int Dim
Definition Line.hpp:35
Eigen::Transform< float, N, Eigen::Affine, Eigen::DontAlign > Transform
Definition Point.hpp:76

References Eigen::Affine, Eigen::UniformScaling< _Scalar >::factor(), Eigen::Isometry, and Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::prescale().

+ Here is the call graph for this function:

◆ operator*() [4/5]

template<typename Scalar >
template<int Dim>
Transform< Scalar, Dim, Affine > Eigen::UniformScaling< Scalar >::operator* ( const Translation< Scalar, Dim > &  t) const
inline

Concatenates a uniform scaling and a translation

159{
160 Transform<Scalar,Dim,Affine> res;
161 res.matrix().setZero();
162 res.linear().diagonal().fill(factor());
163 res.translation() = factor() * t.vector();
164 res(Dim,Dim) = Scalar(1);
165 return res;
166}

References Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::linear(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::matrix(), Eigen::PlainObjectBase< Derived >::setZero(), Eigen::Transform< _Scalar, _Dim, _Mode, _Options >::translation(), and Eigen::Translation< _Scalar, _Dim >::vector().

+ Here is the call graph for this function:

◆ operator*() [5/5]

template<typename _Scalar >
UniformScaling Eigen::UniformScaling< _Scalar >::operator* ( const UniformScaling< _Scalar > &  other) const
inline

Concatenates two uniform scaling

55 { return UniformScaling(m_factor * other.factor()); }

References Eigen::UniformScaling< _Scalar >::UniformScaling(), Eigen::UniformScaling< _Scalar >::factor(), and Eigen::UniformScaling< _Scalar >::m_factor.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ operator*()

template<typename Derived , typename Scalar >
operator* ( const MatrixBase< Derived > &  matrix,
const UniformScaling< Scalar > &  s 
)
related

Concatenates a linear transformation matrix and a uniform scaling

118{ return matrix.derived() * s.factor(); }

Member Data Documentation

◆ m_factor


The documentation for this class was generated from the following files: