Public Types | Public Member Functions | Protected Attributes | Friends
Scaling< _Scalar, _Dim > Class Template Reference

Represents a possibly non uniform scaling transformation. More...

List of all members.

Public Types

enum  { 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 >
ei_cast_return_type< Scaling,
Scaling< NewScalarType, Dim >
>::type 
cast () const
const VectorTypecoeffs () const
VectorTypecoeffs ()
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
Scalingoperator= (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)

Detailed Description

template<typename _Scalar, int _Dim>
class Eigen::Scaling< _Scalar, _Dim >

Represents a possibly non uniform scaling transformation.

This is defined in the Geometry module.

#include <Eigen/Geometry>
Parameters:
_Scalarthe scalar type, i.e., the type of the coefficients.
_Dimthe dimension of the space, can be a compile time value or Dynamic
Note:
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.
See also:
class Translation, class Transform

Member Typedef Documentation

typedef Matrix<Scalar,Dim,Dim> LinearMatrixType

corresponding linear transformation matrix type

typedef _Scalar Scalar

the scalar type of the coefficients

corresponding affine transformation type

corresponding translation type

typedef Matrix<Scalar,Dim,1> VectorType

corresponding vector type


Member Enumeration Documentation

anonymous enum

dimension of the space


Constructor & Destructor Documentation

Scaling ( )
inline

Default constructor without initialization.

Scaling ( const Scalar s)
inlineexplicit

Constructs and initialize a uniform scaling transformation

Scaling ( const Scalar sx,
const Scalar sy 
)
inline

2D only

Scaling ( const Scalar sx,
const Scalar sy,
const Scalar sz 
)
inline

3D only

Scaling ( const VectorType coeffs)
inlineexplicit

Constructs and initialize the scaling transformation from a vector of scaling coefficients

Scaling ( const Scaling< OtherScalarType, Dim > &  other)
inlineexplicit

Copy constructor with scalar type conversion


Member Function Documentation

ei_cast_return_type<Scaling,Scaling<NewScalarType,Dim> >::type 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.

Scaling inverse ( void  ) const
inline
Returns:
the inverse scaling
bool isApprox ( const Scaling< _Scalar, _Dim > &  other,
typename NumTraits< Scalar >::Real  prec = precision<Scalar>() 
) const
inline
Returns:
true if *this is approximately equal to other, within the precision determined by prec.
See also:
MatrixBase::isApprox()
Scaling operator* ( const Scaling< _Scalar, _Dim > &  other) const
inline

Concatenates two scaling

Scaling< Scalar, Dim >::TransformType operator* ( const TranslationType t) const
inline

Concatenates a scaling and a translation

Scaling< Scalar, Dim >::TransformType operator* ( const TransformType t) const
inline

Concatenates a scaling and an affine transformation

LinearMatrixType operator* ( const LinearMatrixType other) const
inline

Concatenates a scaling and a linear transformation matrix

VectorType operator* ( const VectorType other) const
inline

Applies scaling to vector


Friends And Related Function Documentation

LinearMatrixType operator* ( const LinearMatrixType other,
const Scaling< _Scalar, _Dim > &  s 
)
friend

Concatenates a linear transformation matrix and a scaling


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