Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

osg::TransformationMatrix< ValueTypeT > Class Template Reference

TransformationMatrix, for details about the vector, point and matrix desing see Vector, Point and Matrix Design, nevertheless the following applies : M=(V0 V1 V2 V3), M[Column][Row], M[0] = V0 M[0][0] = V0[0] M.getValues() returns M transposed (as it returns the raw storage). More...

#include <OSGMatrix.h>

Inheritance diagram for osg::TransformationMatrix< ValueTypeT >:

Inheritance graph
[legend]
Collaboration diagram for osg::TransformationMatrix< ValueTypeT >:

Collaboration graph
[legend]
List of all members.

Internal Math

ValueTypeT rowMulCol4 (const TransformationMatrix &gRowMat, UInt32 iRow, const TransformationMatrix &gColMat, UInt32 iColumn) const
ValueTypeT det2 (const ValueTypeT a1, const ValueTypeT a2, const ValueTypeT b1, const ValueTypeT b2) const
ValueTypeT det3 (const ValueTypeT a1, const ValueTypeT a2, const ValueTypeT a3, const ValueTypeT b1, const ValueTypeT b2, const ValueTypeT b3, const ValueTypeT c1, const ValueTypeT c2, const ValueTypeT c3) const
bool jacobi (ValueTypeT evalues[JacobiRank], VectorType3f evectors[JacobiRank], Int32 &rots)
const UInt32 JacobiRank = 3

Public Types

Types
typedef ValueTypeT ValueType
 Value type, eg Real32.

typedef VectorInterface< ValueTypeT,
VecStorage4< ValueTypeT > > 
VectorType
 Matrix vector type, eg Vec4f.

typedef QuaternionBase< ValueTypeQuaternionType
 Matrix quaternion type.

typedef VectorInterface< ValueTypeT,
VecStorage3< ValueTypeT > > 
VectorType3f
 Matrix vec3f type.

typedef PointInterface< ValueTypeT,
VecStorage3< ValueTypeT > > 
PointType3f
 Matrix pnt3f type.


Public Methods

Constructors
 TransformationMatrix (void)
 TransformationMatrix (const TransformationMatrix &source)
 TransformationMatrix (const VectorType3f &vector1, const VectorType3f &vector2, const VectorType3f &vector3)
 TransformationMatrix (const VectorType3f &vector1, const VectorType3f &vector2, const VectorType3f &vector3, const VectorType3f &vector4)
 TransformationMatrix (const ValueTypeT rVal00, const ValueTypeT rVal10, const ValueTypeT rVal20, const ValueTypeT rVal30, const ValueTypeT rVal01, const ValueTypeT rVal11, const ValueTypeT rVal21, const ValueTypeT rVal31, const ValueTypeT rVal02, const ValueTypeT rVal12, const ValueTypeT rVal22, const ValueTypeT rVal32, const ValueTypeT rVal03, const ValueTypeT rVal13, const ValueTypeT rVal23, const ValueTypeT rVal33)
Destructor
 ~TransformationMatrix (void)
Set
void setIdentity (void)
void setValue (const TransformationMatrix &mat)
void setValue (const VectorType3f &vector1, const VectorType3f &vector2, const VectorType3f &vector3)
void setValue (const VectorType3f &vector1, const VectorType3f &vector2, const VectorType3f &vector3, const VectorType3f &vector4)
void setValue (const ValueTypeT rVal00, const ValueTypeT rVal10, const ValueTypeT rVal20, const ValueTypeT rVal30, const ValueTypeT rVal01, const ValueTypeT rVal11, const ValueTypeT rVal21, const ValueTypeT rVal31, const ValueTypeT rVal02, const ValueTypeT rVal12, const ValueTypeT rVal22, const ValueTypeT rVal32, const ValueTypeT rVal03, const ValueTypeT rVal13, const ValueTypeT rVal23, const ValueTypeT rVal33)
void setValueTransposed (const ValueTypeT rVal00, const ValueTypeT rVal01, const ValueTypeT rVal02, const ValueTypeT rVal03, const ValueTypeT rVal10, const ValueTypeT rVal11, const ValueTypeT rVal12, const ValueTypeT rVal13, const ValueTypeT rVal20, const ValueTypeT rVal21, const ValueTypeT rVal22, const ValueTypeT rVal23, const ValueTypeT rVal30, const ValueTypeT rVal31, const ValueTypeT rVal32, const ValueTypeT rVal33)
void setValue (const ValueTypeT *pMat, bool bTransposed=true)
 Set value from an ValueTypeT array, be shure the sizes match.

void setValue (const VectorType *pMat)
 Set value from an VectorTypeT array, be shure the sizes match.

void setValue (const VectorType3f *pMat)
 Set value from an VectorType3f array, be shure the sizes match.

void setValue (const Char8 *string, bool bTransposed=true)
 Set matrix by a given str (like "1.0 0.0 0.0 0.0 ... (16 entries at all)"), be shure the size matches.

Get
ValueTypeT * getValues (void)
 Returns an C++ pointer to the value store.

const ValueTypeT * getValues (void) const
 Returns an C++ pointer to the value store.

Set Transformations
void setScale (const ValueTypeT s)
 Sets matrix to scale by given uniform factor.

void setScale (const ValueTypeT sx, const ValueTypeT sy, const ValueTypeT sz)
 Sets matrix to scale by given uniform factor.

void setScale (const VectorType3f &s)
 Sets matrix to scale by given vector.

void setTranslate (const ValueTypeT tx, const ValueTypeT ty, const ValueTypeT tz)
 Sets matrix to translate by given values.

void setTranslate (const VectorType3f &t)
 Sets matrix to translate by given vector.

void setTranslate (const PointType3f &t)
 Sets matrix to translate by given point.

void setRotate (const QuaternionType &q)
 Sets matrix to rotate by given rotation.

void setTransform (const VectorType3f &t)
 Composes the matrix based on a translation.

void setTransform (const QuaternionType &r)
 Composes the matrix based on a rotation.

void setTransform (const VectorType3f &t, const QuaternionType &r)
 Composes the matrix based on a translation and rotation.

void setTransform (const VectorType3f &t, const QuaternionType &r, const VectorType3f &s)
 Composes the matrix based on a translation, rotation and scale.

void setTransform (const VectorType3f &t, const QuaternionType &r, const VectorType3f &s, const QuaternionType &so)
 Composes the matrix based on a translation, rotation, scale and orientation.

void setTransform (const VectorType3f &translation, const QuaternionType &rotation, const VectorType3f &scaleFactor, const QuaternionType &scaleOrientation, const VectorType3f &center)
Get Transformations
void getTransform (VectorType3f &translation, QuaternionType &rotation, VectorType3f &scaleFactor, QuaternionType &scaleOrientation, const VectorType3f &center) const
 Decomposes the matrix into a translation, rotation, scale, and scale orientation. Any projection information is discarded. The decomposition depends upon choice of center point for rotation and scaling, which is optional as the last parameter. Note that if the center is 0, decompose() is the same as factor() where "t" is translation, "u" is rotation, "s" is scaleFactor, and "r" is ScaleOrientattion.

void getTransform (VectorType3f &translation, QuaternionType &rotation, VectorType3f &scaleFactor, QuaternionType &scaleOrientation) const
 Decomposes the matrix into a translation, rotation and scale.

bool factor (TransformationMatrix &r, VectorType3f &s, TransformationMatrix &u, VectorType3f &t, TransformationMatrix &proj) const
 Factors a matrix m into 5 pieces: m = r s rt u t, where rt means transpose of r, and r and u are rotations, s is a scale, and t is a translation. Any projection information is returned in proj.

Transform
void multMatrixPnt (const PointType3f &src, PointType3f &dst) const
 Multiplies matrix by given column point, where the resulting point is given.

void multMatrixPnt (PointType3f &pnt) const
 Multiplies matrix by given column point.

void multFullMatrixPnt (const PointType3f &src, PointType3f &dst) const
 Multiplies matrix by given column point, where the resulting point is given. The full (4x4) matrix is used.

void multFullMatrixPnt (PointType3f &pnt) const
 Multiplies matrix by given column point. The full (4x4) matrix is used.

void multMatrixVec (const VectorType3f &src, VectorType3f &dst) const
 Multiplies matrix by given column vector, where the resulting vector is given.

void multMatrixVec (VectorType3f &vec) const
 Multiplies matrix by given column vector.

void mult (const PointType3f &src, PointType3f &dst) const
 Transforms the given point by the matrix and stores the result in dest.

void mult (PointType3f &vec) const
 Transforms the given point by the matrix.

void mult (const VectorType3f &src, VectorType3f &dst) const
 Transforms the given vector by the matrix and stores the result in dest.

void mult (VectorType3f &vec) const
 Transforms the given vector by the matrix.

void multPntMatrix (const PointType3f &src, PointType3f &dst) const
 Multiplies given row point by matrix, where the resulting point is given (pT * M).

void multPntMatrix (PointType3f &pnt) const
 Multiplies given row point by matrix (pT * M).

void multPntFullMatrix (const PointType3f &src, PointType3f &dst) const
 Multiplies given row point by matrix, where the resulting point is given. The full (4x4) matrix is used (pT * M).

void multPntFullMatrix (PointType3f &pnt) const
 Multiplies given row point by matrix. The full (4x4) matrix is used (pT*M).

void multVecMatrix (const VectorType3f &src, VectorType3f &dst) const
 Multiplies given row vector by matrix, where the resulting vector is given (vT * M).

void multVecMatrix (VectorType3f &vec) const
 Multiplies given row vector by matrix.

Math
bool equals (const TransformationMatrix &matrix, const ValueType tol) const
 Returns true iff all matrix elements are equal within the given tolerance.

ValueTypeT det3 (void) const
 Returns the determinat of the upper 3x3 submatrix.

ValueTypeT det (void) const
 Returns the determinat of the whole 4x4 matrix.

bool inverse (TransformationMatrix &result) const
 Stores the inverse of the matrix into result, returns true if the matrix is not singular.

bool invert (void)
 Inverts the matrix, returns true if the matrix is not singular.

bool invertFrom (const TransformationMatrix &matrix)
 Set the matrix to be the inverse of the given one, returns true if the matrix is not singular.

bool inverse3 (TransformationMatrix &result) const
 Returns true iff all matrix elements are equal within the given tolerance.

bool invert3 (void)
 Returns true iff all matrix elements are equal within the given tolerance.

bool invertFrom3 (const TransformationMatrix &matrix)
 Returns true iff all matrix elements are equal within the given tolerance.

bool transposed (TransformationMatrix &result) const
 Returns true iff all matrix elements are equal within the given tolerance.

bool transpose (void)
 Returns true iff all matrix elements are equal within the given tolerance.

bool transposeFrom (const TransformationMatrix &matrix)
 Returns true iff all matrix elements are equal within the given tolerance.

void mult (const TransformationMatrix &matrix)
 Returns true iff all matrix elements are equal within the given tolerance.

void multLeft (const TransformationMatrix &matrix)
 Returns true iff all matrix elements are equal within the given tolerance.

void add (const TransformationMatrix &matrix)
 Adds the given matrix to this matrix.

void scale (ValueTypeT s)
 Scales the elements of this matrix.

void addScaled (const TransformationMatrix &matrix, ValueTypeT s)
 Adds a scaled version of the given matrix to this matrix.

void negate (void)
 Negates the matrix in place.

ValueTypeT norm1 (void) const
 Returns the 1-norm of _matrix matrix.

ValueTypeT norm2 (void) const
 Returns the 2-norm of this matrix.

ValueTypeT normInfinity (void) const
 Returns the infinity norm of this matrix.

bool sqrt (TransformationMatrix &result) const
 Computes the square root of the matrix and stores it in result, assumes det > 0.

bool sqrtOf (const TransformationMatrix &matrix)
 Sets this matrix to the square root of the given matrix, assumes det > 0.

bool sqrt (void)
 Sets this matrix to its square root, assumes det > 0.

bool log (TransformationMatrix &result) const
 Computes the logarithm of this matrix and stores it in result, assumes det > 0.

bool logOf (const TransformationMatrix &matrix)
 Sets this matrix to the logarithm of the given matrix, assumes det > 0.

bool exp (TransformationMatrix &result) const
 Computes the exponential of this matrix and stores it in result.

bool expOf (const TransformationMatrix &matrix)
 Sets this matrix to the exponential of the given matrix.

Element Access
VectorTypeoperator[] (UInt32 uiIndex)
const VectorTypeoperator[] (UInt32 uiIndex) const
Assignment
TransformationMatrix & operator= (const TransformationMatrix &source)
Comparison
bool operator== (const TransformationMatrix &other) const
 equal, returns true if all matrix elements are equal with the tolerance of Eps

bool operator!= (const TransformationMatrix &other) const
 not equal, returns true if all matrix elements are not equal with the tolerance of Eps


Static Public Methods

Class Get
const TransformationMatrix & identity (void)

Protected Attributes

Storage
VectorType _matrix [4]
 Value store.


Static Private Attributes

TransformationMatrix _identityMatrix

Detailed Description

template<class ValueTypeT>
class osg::TransformationMatrix< ValueTypeT >

TransformationMatrix, for details about the vector, point and matrix desing see Vector, Point and Matrix Design, nevertheless the following applies : M=(V0 V1 V2 V3), M[Column][Row], M[0] = V0 M[0][0] = V0[0] M.getValues() returns M transposed (as it returns the raw storage).


Member Typedef Documentation

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::ValueType
 

Value type, eg Real32.

template<class ValueTypeT>
VectorInterface< ValueTypeT, VecStorage4< ValueTypeT > > osg::TransformationMatrix< ValueTypeT >::VectorType
 

Matrix vector type, eg Vec4f.

template<class ValueTypeT>
QuaternionBase< ValueType > osg::TransformationMatrix< ValueTypeT >::QuaternionType
 

Matrix quaternion type.

template<class ValueTypeT>
VectorInterface< ValueTypeT, VecStorage3< ValueTypeT > > osg::TransformationMatrix< ValueTypeT >::VectorType3f
 

Matrix vec3f type.

template<class ValueTypeT>
PointInterface< ValueTypeT, VecStorage3< ValueTypeT > > osg::TransformationMatrix< ValueTypeT >::PointType3f
 

Matrix pnt3f type.


Constructor & Destructor Documentation

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::TransformationMatrix void    [inline]
 

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::TransformationMatrix const TransformationMatrix< ValueTypeT > &    source [inline]
 

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::TransformationMatrix const VectorType3f   vector1,
const VectorType3f   vector2,
const VectorType3f   vector3
[inline]
 

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::TransformationMatrix const VectorType3f   vector1,
const VectorType3f   vector2,
const VectorType3f   vector3,
const VectorType3f   vector4
[inline]
 

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::TransformationMatrix const ValueTypeT    rVal00,
const ValueTypeT    rVal10,
const ValueTypeT    rVal20,
const ValueTypeT    rVal30,
const ValueTypeT    rVal01,
const ValueTypeT    rVal11,
const ValueTypeT    rVal21,
const ValueTypeT    rVal31,
const ValueTypeT    rVal02,
const ValueTypeT    rVal12,
const ValueTypeT    rVal22,
const ValueTypeT    rVal32,
const ValueTypeT    rVal03,
const ValueTypeT    rVal13,
const ValueTypeT    rVal23,
const ValueTypeT    rVal33
[inline]
 

template<class ValueTypeT>
osg::TransformationMatrix< ValueTypeT >::~TransformationMatrix void    [inline]
 


Member Function Documentation

template<class ValueTypeT>
const TransformationMatrix< ValueTypeT > & osg::TransformationMatrix< ValueTypeT >::identity void    [inline, static]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setIdentity void    [inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const TransformationMatrix< ValueTypeT > &    mat [inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const VectorType3f   vector1,
const VectorType3f   vector2,
const VectorType3f   vector3
[inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const VectorType3f   vector1,
const VectorType3f   vector2,
const VectorType3f   vector3,
const VectorType3f   vector4
[inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const ValueTypeT    rVal00,
const ValueTypeT    rVal10,
const ValueTypeT    rVal20,
const ValueTypeT    rVal30,
const ValueTypeT    rVal01,
const ValueTypeT    rVal11,
const ValueTypeT    rVal21,
const ValueTypeT    rVal31,
const ValueTypeT    rVal02,
const ValueTypeT    rVal12,
const ValueTypeT    rVal22,
const ValueTypeT    rVal32,
const ValueTypeT    rVal03,
const ValueTypeT    rVal13,
const ValueTypeT    rVal23,
const ValueTypeT    rVal33
[inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValueTransposed const ValueTypeT    rVal00,
const ValueTypeT    rVal01,
const ValueTypeT    rVal02,
const ValueTypeT    rVal03,
const ValueTypeT    rVal10,
const ValueTypeT    rVal11,
const ValueTypeT    rVal12,
const ValueTypeT    rVal13,
const ValueTypeT    rVal20,
const ValueTypeT    rVal21,
const ValueTypeT    rVal22,
const ValueTypeT    rVal23,
const ValueTypeT    rVal30,
const ValueTypeT    rVal31,
const ValueTypeT    rVal32,
const ValueTypeT    rVal33
[inline]
 

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const ValueTypeT *    pMat,
bool    bTransposed = true
[inline]
 

Set value from an ValueTypeT array, be shure the sizes match.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const VectorType   pMat [inline]
 

Set value from an VectorTypeT array, be shure the sizes match.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const VectorType3f   pMat [inline]
 

Set value from an VectorType3f array, be shure the sizes match.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setValue const Char8   str,
bool    bTransposed = true
[inline]
 

Set matrix by a given str (like "1.0 0.0 0.0 0.0 ... (16 entries at all)"), be shure the size matches.

template<class ValueTypeT>
ValueTypeT * osg::TransformationMatrix< ValueTypeT >::getValues void    [inline]
 

Returns an C++ pointer to the value store.

template<class ValueTypeT>
const ValueTypeT * osg::TransformationMatrix< ValueTypeT >::getValues void    const [inline]
 

Returns an C++ pointer to the value store.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setScale const ValueTypeT    s [inline]
 

Sets matrix to scale by given uniform factor.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setScale const ValueTypeT    sx,
const ValueTypeT    sy,
const ValueTypeT    sz
[inline]
 

Sets matrix to scale by given uniform factor.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setScale const VectorType3f   s [inline]
 

Sets matrix to scale by given vector.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTranslate const ValueTypeT    tx,
const ValueTypeT    ty,
const ValueTypeT    tz
[inline]
 

Sets matrix to translate by given values.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTranslate const VectorType3f   t [inline]
 

Sets matrix to translate by given vector.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTranslate const PointType3f   t [inline]
 

Sets matrix to translate by given point.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setRotate const QuaternionType   q [inline]
 

Sets matrix to rotate by given rotation.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const VectorType3f   t [inline]
 

Composes the matrix based on a translation.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const QuaternionType   r [inline]
 

Composes the matrix based on a rotation.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const VectorType3f   t,
const QuaternionType   r
[inline]
 

Composes the matrix based on a translation and rotation.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const VectorType3f   t,
const QuaternionType   r,
const VectorType3f   s
[inline]
 

Composes the matrix based on a translation, rotation and scale.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const VectorType3f   t,
const QuaternionType   r,
const VectorType3f   s,
const QuaternionType   so
[inline]
 

Composes the matrix based on a translation, rotation, scale and orientation.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::setTransform const VectorType3f   translation,
const QuaternionType   rotation,
const VectorType3f   scaleFactor,
const QuaternionType   scaleOrientation,
const VectorType3f   center
[inline]
 

Composes the matrix based on a translation, rotation, scale, orientation for scale, and center. The "center" is the center point for scaling and rotation. The "scaleOrientation" chooses the primary axes for the scale.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::getTransform VectorType3f   translation,
QuaternionType   rotation,
VectorType3f   scaleFactor,
QuaternionType   scaleOrientation,
const VectorType3f   center
const [inline]
 

Decomposes the matrix into a translation, rotation, scale, and scale orientation. Any projection information is discarded. The decomposition depends upon choice of center point for rotation and scaling, which is optional as the last parameter. Note that if the center is 0, decompose() is the same as factor() where "t" is translation, "u" is rotation, "s" is scaleFactor, and "r" is ScaleOrientattion.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::getTransform VectorType3f   translation,
QuaternionType   rotation,
VectorType3f   scaleFactor,
QuaternionType   scaleOrientation
const [inline]
 

Decomposes the matrix into a translation, rotation and scale.

template<class ValueTypeT>
bool osg::TransformationMatrix< ValueTypeT >::factor TransformationMatrix< ValueTypeT > &    r,
VectorType3f   s,
TransformationMatrix< ValueTypeT > &    u,
VectorType3f   t,
TransformationMatrix< ValueTypeT > &    proj
const [inline]
 

Factors a matrix m into 5 pieces: m = r s rt u t, where rt means transpose of r, and r and u are rotations, s is a scale, and t is a translation. Any projection information is returned in proj.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multMatrixPnt const PointType3f   src,
PointType3f   dst
const [inline]
 

Multiplies matrix by given column point, where the resulting point is given.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multMatrixPnt PointType3f   pnt const [inline]
 

Multiplies matrix by given column point.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multFullMatrixPnt const PointType3f   src,
PointType3f   dst
const [inline]
 

Multiplies matrix by given column point, where the resulting point is given. The full (4x4) matrix is used.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multFullMatrixPnt PointType3f   pnt const [inline]
 

Multiplies matrix by given column point. The full (4x4) matrix is used.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multMatrixVec const VectorType3f   src,
VectorType3f   dst
const [inline]
 

Multiplies matrix by given column vector, where the resulting vector is given.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multMatrixVec VectorType3f   vec const [inline]
 

Multiplies matrix by given column vector.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::mult const PointType3f   src,
PointType3f   dest
const [inline]
 

Transforms the given point by the matrix and stores the result in dest.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::mult PointType3f   vec const [inline]
 

Transforms the given point by the matrix.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::mult const VectorType3f   src,
VectorType3f   dest
const [inline]
 

Transforms the given vector by the matrix and stores the result in dest.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::mult VectorType3f   vec const [inline]
 

Transforms the given vector by the matrix.

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multPntMatrix const PointType3f   src,
PointType3f   dst
const [inline]
 

Multiplies given row point by matrix, where the resulting point is given (pT * M).

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multPntMatrix PointType3f   pnt const [inline]
 

Multiplies given row point by matrix (pT * M).

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multPntFullMatrix const PointType3f   src,
PointType3f   dst
const [inline]
 

Multiplies given row point by matrix, where the resulting point is given. The full (4x4) matrix is used (pT * M).

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multPntFullMatrix PointType3f   pnt const [inline]
 

Multiplies given row point by matrix. The full (4x4) matrix is used (pT*M).

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multVecMatrix const VectorType3f   src,
VectorType3f   dst
const [inline]
 

Multiplies given row vector by matrix, where the resulting vector is given (vT * M).

template<class ValueTypeT>
void osg::TransformationMatrix< ValueTypeT >::multVecMatrix VectorType3f   vec const [inline]
 

Multiplies given row vector by matrix.

template<class ValueTypeT>
bool osg::TransformationMatrix< ValueTypeT >::equals const TransformationMatrix< ValueTypeT > &    matrix,
const ValueType    tolerance
const [inline]
 

Returns true iff all matrix elements are equal within the given tolerance.

template<class ValueTypeT>
ValueTypeT osg::TransformationMatrix< ValueTypeT >::det3 void    const [inline]
 

Returns the determinat of the upper 3x3 submatrix.

template<class ValueTypeT>
ValueTypeT osg::TransformationMatrix< ValueTypeT >::det void    const [inline]
 

Returns the determinat of the whole 4x4 matrix.

template<class ValueTypeT>
bool osg::TransformationMatrix< ValueTypeT >::inverse TransformationMatrix< ValueTypeT > &    result const [inline]
 

Stores the inverse of the matrix into result, returns true if the matrix is not singular.

template<class ValueTypeT>
bool osg::TransformationMatrix< ValueTypeT >::invert void    [inline]
 

Inverts the matrix, returns true if the matrix is not singular.