HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UT_SymMatrix3T< T > Class Template Reference

Generic symmetric 3x3 matrix. More...

#include <UT_SymMatrix3.h>

Classes

struct  LowerTri
 Inner class to access the elements symbolically. More...
 
struct  UpperTri
 

Public Types

typedef T value_type
 
typedef UT_SymMatrix3T< Ttype
 

Public Member Functions

 UT_SymMatrix3T ()
 Construct uninitialized matrix. More...
 
 UT_SymMatrix3T (T s)
 Construct matrix with uniform scale. More...
 
 UT_SymMatrix3T (const UT_Vector3T< T > &s)
 Construct matrix with arbitrary scale. More...
 
 UT_SymMatrix3T (T q00, T q10, T q11, T q20, T q21, T q22)
 Construct matrix with full components. More...
 
void zero ()
 Set this to the zero matrix. More...
 
void identity ()
 Set this to the identity matrix. More...
 
bool isIdentity () const
 Return whether this is the identity matrix. More...
 
void setScale (T sx, T sy, T sz)
 Set this to a scale matrix. More...
 
void setScale (const UT_Vector3T< T > &s)
 Set this to a scale matrix. More...
 
T operator() (const int i, const int j) const
 Return element (i,j) More...
 
Toperator() (const int i, const int j)
 Return reference to element (i,j) More...
 
typeoperator+= (const type &m)
 
typeoperator-= (const type &m)
 
typeoperator*= (T scalar)
 
typeoperator/= (T scalar)
 
void lerp (const type &a, const type &b, T t)
 
const LowerTrilowerTri () const
 Return reference to the lower triangular elements for symbolic access. More...
 
const UpperTriupperTri () const
 Return reference to the upper triangular elements for symbolic access. More...
 
void transpose ()
 
void outerproduct (const UT_Vector3T< T > &v)
 
void outerproduct (T a, T b, T c)
 
void outerproductUpdate (const UT_Vector3T< T > &v)
 
void outerproductUpdate (T a, T b, T c)
 
void outerproductUpdate (const UT_Vector3T< T > &v, T coef)
 
void outerproductUpdate (T a, T b, T c, T coef)
 
T vQv (const UT_Vector3T< T > &v) const
 
const Tdata () const
 
Tdata ()
 

Static Public Attributes

static const int tuple_size = 6
 

Friends

template<typename S >
class UT_Matrix3T
 
template<typename S >
class UT_Matrix4T
 

Detailed Description

template<typename T>
class UT_SymMatrix3T< T >

Generic symmetric 3x3 matrix.

Definition at line 25 of file UT_SymMatrix3.h.

Member Typedef Documentation

template<typename T>
typedef UT_SymMatrix3T<T> UT_SymMatrix3T< T >::type

Definition at line 44 of file UT_SymMatrix3.h.

template<typename T>
typedef T UT_SymMatrix3T< T >::value_type

Definition at line 43 of file UT_SymMatrix3.h.

Constructor & Destructor Documentation

template<typename T>
UT_SymMatrix3T< T >::UT_SymMatrix3T ( )
inline

Construct uninitialized matrix.

Definition at line 48 of file UT_SymMatrix3.h.

template<typename T>
UT_SymMatrix3T< T >::UT_SymMatrix3T ( T  s)
inlineexplicit

Construct matrix with uniform scale.

Definition at line 53 of file UT_SymMatrix3.h.

template<typename T>
UT_SymMatrix3T< T >::UT_SymMatrix3T ( const UT_Vector3T< T > &  s)
inlineexplicit

Construct matrix with arbitrary scale.

Definition at line 59 of file UT_SymMatrix3.h.

template<typename T>
UT_SymMatrix3T< T >::UT_SymMatrix3T ( T  q00,
T  q10,
T  q11,
T  q20,
T  q21,
T  q22 
)
inline

Construct matrix with full components.

Definition at line 65 of file UT_SymMatrix3.h.

Member Function Documentation

template<typename T>
const T* UT_SymMatrix3T< T >::data ( void  ) const
inline

Return the raw pointer to an array of tuple_size (6) elements

Definition at line 169 of file UT_SymMatrix3.h.

template<typename T>
T* UT_SymMatrix3T< T >::data ( void  )
inline

Return the raw pointer to an array of tuple_size (6) elements

Definition at line 170 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::identity ( )
inline

Set this to the identity matrix.

Definition at line 80 of file UT_SymMatrix3.h.

template<typename T>
bool UT_SymMatrix3T< T >::isIdentity ( ) const
inline

Return whether this is the identity matrix.

Definition at line 86 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::lerp ( const type a,
const type b,
T  t 
)
inline

Set this to a linear interpolation of the two given transforms: this = a + t(b - a)

Definition at line 151 of file UT_SymMatrix3.h.

template<typename T>
const LowerTri& UT_SymMatrix3T< T >::lowerTri ( ) const
inline

Return reference to the lower triangular elements for symbolic access.

Definition at line 174 of file UT_SymMatrix3.h.

template<typename T>
T UT_SymMatrix3T< T >::operator() ( const int  i,
const int  j 
) const
inline

Return element (i,j)

Definition at line 108 of file UT_SymMatrix3.h.

template<typename T>
T& UT_SymMatrix3T< T >::operator() ( const int  i,
const int  j 
)
inline

Return reference to element (i,j)

Definition at line 117 of file UT_SymMatrix3.h.

template<typename T>
type& UT_SymMatrix3T< T >::operator*= ( T  scalar)
inline

Definition at line 138 of file UT_SymMatrix3.h.

template<typename T>
type& UT_SymMatrix3T< T >::operator+= ( const type m)
inline

Definition at line 126 of file UT_SymMatrix3.h.

template<typename T>
type& UT_SymMatrix3T< T >::operator-= ( const type m)
inline

Definition at line 132 of file UT_SymMatrix3.h.

template<typename T>
type& UT_SymMatrix3T< T >::operator/= ( T  scalar)
inline

Definition at line 144 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproduct ( const UT_Vector3T< T > &  v)

Definition at line 277 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproduct ( T  a,
T  b,
T  c 
)

Definition at line 284 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproductUpdate ( const UT_Vector3T< T > &  v)

Definition at line 293 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproductUpdate ( T  a,
T  b,
T  c 
)

Definition at line 300 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproductUpdate ( const UT_Vector3T< T > &  v,
T  coef 
)

Definition at line 310 of file UT_SymMatrix3.h.

template<typename T >
void UT_SymMatrix3T< T >::outerproductUpdate ( T  a,
T  b,
T  c,
T  coef 
)

Definition at line 317 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::setScale ( T  sx,
T  sy,
T  sz 
)
inline

Set this to a scale matrix.

Definition at line 94 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::setScale ( const UT_Vector3T< T > &  s)
inline

Set this to a scale matrix.

Definition at line 102 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::transpose ( void  )
inline

Definition at line 180 of file UT_SymMatrix3.h.

template<typename T>
const UpperTri& UT_SymMatrix3T< T >::upperTri ( ) const
inline

Return reference to the upper triangular elements for symbolic access.

Definition at line 177 of file UT_SymMatrix3.h.

template<typename T >
T UT_SymMatrix3T< T >::vQv ( const UT_Vector3T< T > &  v) const

Definition at line 329 of file UT_SymMatrix3.h.

template<typename T>
void UT_SymMatrix3T< T >::zero ( )
inline

Set this to the zero matrix.

Definition at line 74 of file UT_SymMatrix3.h.

Friends And Related Function Documentation

template<typename T>
template<typename S >
friend class UT_Matrix3T
friend

Definition at line 213 of file UT_SymMatrix3.h.

template<typename T>
template<typename S >
friend class UT_Matrix4T
friend

Definition at line 214 of file UT_SymMatrix3.h.

Member Data Documentation

template<typename T>
LowerTri UT_SymMatrix3T< T >::myLower

Definition at line 209 of file UT_SymMatrix3.h.

template<typename T>
UpperTri UT_SymMatrix3T< T >::myUpper

Definition at line 210 of file UT_SymMatrix3.h.

template<typename T>
T UT_SymMatrix3T< T >::myV[6]

Definition at line 208 of file UT_SymMatrix3.h.

template<typename T>
const int UT_SymMatrix3T< T >::tuple_size = 6
static

Definition at line 45 of file UT_SymMatrix3.h.


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