Represents a possibly non uniform scaling transformation. More...
#include <Scaling.h>
Public Types | |
enum | { Dim = _Dim } |
typedef Matrix< Scalar, Dim, Dim > | LinearMatrixType |
typedef _Scalar | Scalar |
typedef Transform< Scalar, Dim > | TransformType |
typedef Translation< Scalar, Dim > | TranslationType |
typedef Matrix< Scalar, Dim, 1 > | VectorType |
Public Member Functions | |
template<typename NewScalarType > | |
internal::cast_return_type < Scaling, Scaling < NewScalarType, Dim > >::type | cast () const |
const VectorType & | coeffs () const |
VectorType & | coeffs () |
Scaling | inverse () const |
bool | isApprox (const Scaling &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const |
Scaling | operator* (const Scaling &other) const |
TransformType | operator* (const TranslationType &t) const |
TransformType | operator* (const TransformType &t) const |
LinearMatrixType | operator* (const LinearMatrixType &other) const |
template<typename Derived > | |
LinearMatrixType | operator* (const RotationBase< Derived, Dim > &r) const |
VectorType | operator* (const VectorType &other) const |
Scaling & | operator= (const Scaling &other) |
Scaling () | |
Scaling (const Scalar &s) | |
Scaling (const Scalar &sx, const Scalar &sy) | |
Scaling (const Scalar &sx, const Scalar &sy, const Scalar &sz) | |
Scaling (const VectorType &coeffs) | |
template<typename OtherScalarType > | |
Scaling (const Scaling< OtherScalarType, Dim > &other) | |
Protected Attributes | |
VectorType | m_coeffs |
Friends | |
LinearMatrixType | operator* (const LinearMatrixType &other, const Scaling &s) |
Represents a possibly non uniform scaling transformation.
Represents a generic uniform scaling transformation.
_Scalar | the scalar type, i.e., the type of the coefficients. |
_Dim | the dimension of the space, can be a compile time value or Dynamic |
_Scalar | the scalar type, i.e., the type of the coefficients. |
This class represent a uniform scaling transformation. It is the return type of Scaling(Scalar), and most of the time this is the only way it is used. In particular, this class is not aimed to be used to store a scaling transformation, but rather to make easier the constructions and updates of Transform objects.
To represent an axis aligned scaling, use the DiagonalMatrix class.
Definition at line 29 of file src/Eigen2Support/Geometry/Scaling.h.
typedef Matrix<Scalar,Dim,Dim> Eigen::Scaling< _Scalar, _Dim >::LinearMatrixType |
corresponding linear transformation matrix type
Definition at line 40 of file src/Eigen2Support/Geometry/Scaling.h.
typedef _Scalar Eigen::Scaling< _Scalar, _Dim >::Scalar |
the scalar type of the coefficients
Definition at line 36 of file src/Eigen2Support/Geometry/Scaling.h.
typedef Transform<Scalar,Dim> Eigen::Scaling< _Scalar, _Dim >::TransformType |
corresponding affine transformation type
Definition at line 44 of file src/Eigen2Support/Geometry/Scaling.h.
typedef Translation<Scalar,Dim> Eigen::Scaling< _Scalar, _Dim >::TranslationType |
corresponding translation type
Definition at line 42 of file src/Eigen2Support/Geometry/Scaling.h.
typedef Matrix<Scalar,Dim,1> Eigen::Scaling< _Scalar, _Dim >::VectorType |
corresponding vector type
Definition at line 38 of file src/Eigen2Support/Geometry/Scaling.h.
anonymous enum |
dimension of the space
Definition at line 34 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | ) | [inline] |
Default constructor without initialization.
Definition at line 53 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | const Scalar & | s | ) | [inline, explicit] |
Constructs and initialize a uniform scaling transformation
Definition at line 55 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | const Scalar & | sx, |
const Scalar & | sy | ||
) | [inline] |
2D only
Definition at line 57 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | const Scalar & | sx, |
const Scalar & | sy, | ||
const Scalar & | sz | ||
) | [inline] |
3D only
Definition at line 64 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | const VectorType & | coeffs | ) | [inline, explicit] |
Constructs and initialize the scaling transformation from a vector of scaling coefficients
Definition at line 72 of file src/Eigen2Support/Geometry/Scaling.h.
Eigen::Scaling< _Scalar, _Dim >::Scaling | ( | const Scaling< OtherScalarType, Dim > & | other | ) | [inline, explicit] |
Copy constructor with scalar type conversion
Definition at line 126 of file src/Eigen2Support/Geometry/Scaling.h.
internal::cast_return_type<Scaling,Scaling<NewScalarType,Dim> >::type Eigen::Scaling< _Scalar, _Dim >::cast | ( | ) | const [inline] |
*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
.
Definition at line 121 of file src/Eigen2Support/Geometry/Scaling.h.
const VectorType& Eigen::Scaling< _Scalar, _Dim >::coeffs | ( | ) | const [inline] |
Definition at line 74 of file src/Eigen2Support/Geometry/Scaling.h.
VectorType& Eigen::Scaling< _Scalar, _Dim >::coeffs | ( | ) | [inline] |
Definition at line 75 of file src/Eigen2Support/Geometry/Scaling.h.
Scaling Eigen::Scaling< _Scalar, _Dim >::inverse | ( | void | ) | const [inline] |
Definition at line 106 of file src/Eigen2Support/Geometry/Scaling.h.
bool Eigen::Scaling< _Scalar, _Dim >::isApprox | ( | const Scaling< _Scalar, _Dim > & | other, |
typename NumTraits< Scalar >::Real | prec = precision<Scalar>() |
||
) | const [inline] |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 133 of file src/Eigen2Support/Geometry/Scaling.h.
Scaling Eigen::Scaling< _Scalar, _Dim >::operator* | ( | const Scaling< _Scalar, _Dim > & | other | ) | const [inline] |
Concatenates two scaling
Definition at line 78 of file src/Eigen2Support/Geometry/Scaling.h.
Scaling< Scalar, Dim >::TransformType Scaling< Scalar, Dim >::operator* | ( | const TranslationType & | t | ) | const [inline] |
Concatenates a scaling and a translation
Definition at line 148 of file src/Eigen2Support/Geometry/Scaling.h.
Scaling< Scalar, Dim >::TransformType Scaling< Scalar, Dim >::operator* | ( | const TransformType & | t | ) | const [inline] |
Concatenates a scaling and an affine transformation
Definition at line 160 of file src/Eigen2Support/Geometry/Scaling.h.
LinearMatrixType Eigen::Scaling< _Scalar, _Dim >::operator* | ( | const LinearMatrixType & | other | ) | const [inline] |
Concatenates a scaling and a linear transformation matrix
Definition at line 89 of file src/Eigen2Support/Geometry/Scaling.h.
LinearMatrixType Eigen::Scaling< _Scalar, _Dim >::operator* | ( | const RotationBase< Derived, Dim > & | r | ) | const [inline] |
Definition at line 98 of file src/Eigen2Support/Geometry/Scaling.h.
VectorType Eigen::Scaling< _Scalar, _Dim >::operator* | ( | const VectorType & | other | ) | const [inline] |
Applies scaling to vector
Definition at line 102 of file src/Eigen2Support/Geometry/Scaling.h.
Scaling& Eigen::Scaling< _Scalar, _Dim >::operator= | ( | const Scaling< _Scalar, _Dim > & | other | ) | [inline] |
Definition at line 109 of file src/Eigen2Support/Geometry/Scaling.h.
LinearMatrixType operator* | ( | const LinearMatrixType & | other, |
const Scaling< _Scalar, _Dim > & | s | ||
) | [friend] |
Concatenates a linear transformation matrix and a scaling
Definition at line 94 of file src/Eigen2Support/Geometry/Scaling.h.
VectorType Eigen::Scaling< _Scalar, _Dim >::m_coeffs [protected] |
Definition at line 48 of file src/Eigen2Support/Geometry/Scaling.h.