SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
deMatrix6 Class Reference

6x6 matrix classThis class consists of four 3x3 matrices. More...

#include <TaoDeMatrix6.h>

Collaboration diagram for deMatrix6:
Collaboration graph
[legend]

Public Member Functions

deMatrix3operator[] (const deInt row)
 
const deMatrix3operator[] (const deInt row) const
 
DE_MATH_API deFloat & elementAt (const deInt i, const deInt j)
 
DE_MATH_API const deFloat & elementAt (const deInt i, const deInt j) const
 
DE_MATH_API void operator= (const deMatrix6 &m)
 this = m More...
 
DE_MATH_API void zero ()
 this = zero matrix More...
 
DE_MATH_API void identity ()
 this = identity matrix More...
 
DE_MATH_API void negate (const deMatrix6 &m)
 this = -m More...
 
DE_MATH_API void add (const deMatrix6 &m1, const deMatrix6 &m2)
 this = m1 + m2 More...
 
DE_MATH_API void subtract (const deMatrix6 &m1, const deMatrix6 &m2)
 this = m1 - m2 More...
 
DE_MATH_API void multiply (const deMatrix6 &m, const deFloat s)
 this[i] = m[i] * s More...
 
DE_MATH_API void operator+= (const deMatrix6 &m)
 this += m More...
 
DE_MATH_API void operator-= (const deMatrix6 &m)
 this -= m More...
 
DE_MATH_API void operator*= (const deFloat s)
 this[i] -= s More...
 
DE_MATH_API void transpose (const deMatrix6 &m)
 this = m^T More...
 
void inverse (const deMatrix6 &m)
 this = m^-1 More...
 
void inverseSPD (const deMatrix6 &m)
 this = m^-1 where m is SPD More...
 
void ludecomp (const deMatrix6 &m)
 this = LU decomposition of m More...
 
void ludecompSPD (const deMatrix6 &m)
 this = LU decomposition of m where m is SPD More...
 
void multiply (const deMatrix6 &m1, const deMatrix6 &m2)
 this = m1 * m2 More...
 
void transposedMultiply (const deMatrix6 &m1, const deMatrix6 &m2)
 this = m1^T * m2 More...
 
void multiplyTransposed (const deMatrix6 &m1, const deMatrix6 &m2)
 this = m1 * m2^T More...
 
void multiplyTransposed (const deVector6 &v1, const deVector6 &v2)
 this = v1 * v2^T More...
 
void similarityXform (const deMatrix6 &L, const deMatrix6 &I)
 this = L * I * L^T : I is symmetric More...
 
void similarityXformT (const deMatrix6 &L, const deMatrix6 &I)
 this = L^T * I * L : I is symmetric More...
 
Spatial transformation only
DE_MATH_API void set (const deTransform &t)
 this = X where X = [R 0; dxR R] More...
 
void xform (const deTransform &t, const deMatrix6 &m)
 this = X * m More...
 
void similarityRform (const deTransform &t, const deMatrix6 &L)
 this = Li = R Li+1 Rt : L symmetric More...
 
void similarityXform (const deTransform &t, const deMatrix6 &I)
 this = Ii = X Ii+1 Xt : I symmetric More...
 
void similarityXformT (const deTransform &t, const deMatrix6 &I)
 this = Ii+1 = Xt Ii X : I symmetric More...
 
void similarityXformInv (const deTransform &t, const deMatrix6 &I)
 this = Li+1 = Xinv Li Xinvt : L symmetric More...
 

Private Attributes

deMatrix3 _mat3 [4]
 

Detailed Description

6x6 matrix class

This class consists of four 3x3 matrices.

Remarks
spatial matrix representing translational part and rotational part
See Also
deMatrix3

Member Function Documentation

DE_MATH_API void deMatrix6::add ( const deMatrix6 m1,
const deMatrix6 m2 
)

this = m1 + m2

DE_MATH_API deFloat & deMatrix6::elementAt ( const deInt  i,
const deInt  j 
)
Returns
element at (i,j)
DE_MATH_API const deFloat & deMatrix6::elementAt ( const deInt  i,
const deInt  j 
) const
Returns
element at (i,j)
DE_MATH_API void deMatrix6::identity ( )

this = identity matrix

void deMatrix6::inverse ( const deMatrix6 m)

this = m^-1

void deMatrix6::inverseSPD ( const deMatrix6 m)

this = m^-1 where m is SPD

void deMatrix6::ludecomp ( const deMatrix6 m)

this = LU decomposition of m

void deMatrix6::ludecompSPD ( const deMatrix6 m)

this = LU decomposition of m where m is SPD

DE_MATH_API void deMatrix6::multiply ( const deMatrix6 m,
const deFloat  s 
)

this[i] = m[i] * s

void deMatrix6::multiply ( const deMatrix6 m1,
const deMatrix6 m2 
)

this = m1 * m2

void deMatrix6::multiplyTransposed ( const deMatrix6 m1,
const deMatrix6 m2 
)

this = m1 * m2^T

void deMatrix6::multiplyTransposed ( const deVector6 v1,
const deVector6 v2 
)

this = v1 * v2^T

DE_MATH_API void deMatrix6::negate ( const deMatrix6 m)

this = -m

DE_MATH_API void deMatrix6::operator*= ( const deFloat  s)

this[i] -= s

DE_MATH_API void deMatrix6::operator+= ( const deMatrix6 m)

this += m

DE_MATH_API void deMatrix6::operator-= ( const deMatrix6 m)

this -= m

DE_MATH_API void deMatrix6::operator= ( const deMatrix6 m)

this = m

deMatrix3* deMatrix6::operator[] ( const deInt  row)
inline
Returns
row
const deMatrix3* deMatrix6::operator[] ( const deInt  row) const
inline
Returns
row
DE_MATH_API void deMatrix6::set ( const deTransform t)

this = X where X = [R 0; dxR R]

void deMatrix6::similarityRform ( const deTransform t,
const deMatrix6 L 
)

this = Li = R Li+1 Rt : L symmetric

void deMatrix6::similarityXform ( const deMatrix6 L,
const deMatrix6 I 
)

this = L * I * L^T : I is symmetric

void deMatrix6::similarityXform ( const deTransform t,
const deMatrix6 I 
)

this = Ii = X Ii+1 Xt : I symmetric

void deMatrix6::similarityXformInv ( const deTransform t,
const deMatrix6 I 
)

this = Li+1 = Xinv Li Xinvt : L symmetric

void deMatrix6::similarityXformT ( const deMatrix6 L,
const deMatrix6 I 
)

this = L^T * I * L : I is symmetric

void deMatrix6::similarityXformT ( const deTransform t,
const deMatrix6 I 
)

this = Ii+1 = Xt Ii X : I symmetric

DE_MATH_API void deMatrix6::subtract ( const deMatrix6 m1,
const deMatrix6 m2 
)

this = m1 - m2

DE_MATH_API void deMatrix6::transpose ( const deMatrix6 m)

this = m^T

void deMatrix6::transposedMultiply ( const deMatrix6 m1,
const deMatrix6 m2 
)

this = m1^T * m2

void deMatrix6::xform ( const deTransform t,
const deMatrix6 m 
)

this = X * m

DE_MATH_API void deMatrix6::zero ( )

this = zero matrix


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