Scaling< _Scalar, _Dim > Class Template Reference
[Geometry module]

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
VectorTypecoeffs ()
const VectorTypecoeffs () const
Scaling inverse () const
bool isApprox (const Scaling &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const
VectorType operator* (const VectorType &other) const
template<typename Derived >
LinearMatrixType operator* (const RotationBase< Derived, Dim > &r) const
LinearMatrixType operator* (const LinearMatrixType &other) const
TransformType operator* (const TransformType &t) const
TransformType operator* (const TranslationType &t) const
Scaling operator* (const Scaling &other) const
Scalingoperator= (const Scaling &other)
template<typename OtherScalarType >
 Scaling (const Scaling< OtherScalarType, Dim > &other)
 Scaling (const VectorType &coeffs)
 Scaling (const Scalar &sx, const Scalar &sy, const Scalar &sz)
 Scaling (const Scalar &sx, const Scalar &sy)
 Scaling (const Scalar &s)
 Scaling ()

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:
_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
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  )  [inline, explicit]

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  )  [inline, explicit]

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

Scaling ( const Scaling< OtherScalarType, Dim > &  other  )  [inline, explicit]

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()
VectorType operator* ( const VectorType other  )  const [inline]

Applies scaling to vector

LinearMatrixType operator* ( const LinearMatrixType other  )  const [inline]

Concatenates a scaling and a linear transformation matrix

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

Concatenates a scaling and an affine transformation

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

Concatenates a scaling and a translation

Scaling operator* ( const Scaling< _Scalar, _Dim > &  other  )  const [inline]

Concatenates two scaling


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:

Generated by  doxygen 1.6.2