HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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

SYS_FORCE_INLINE UT_SymMatrix3T ()=default
 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 26 of file UT_SymMatrix3.h.

Member Typedef Documentation

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

Definition at line 45 of file UT_SymMatrix3.h.

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

Definition at line 44 of file UT_SymMatrix3.h.

Constructor & Destructor Documentation

template<typename T>
SYS_FORCE_INLINE UT_SymMatrix3T< T >::UT_SymMatrix3T ( )
default

Construct uninitialized matrix.

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

Construct matrix with uniform scale.

Definition at line 52 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 58 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 64 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 168 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 169 of file UT_SymMatrix3.h.

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

Set this to the identity matrix.

Definition at line 79 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 85 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 150 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 173 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 107 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 116 of file UT_SymMatrix3.h.

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

Definition at line 137 of file UT_SymMatrix3.h.

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

Definition at line 125 of file UT_SymMatrix3.h.

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

Definition at line 131 of file UT_SymMatrix3.h.

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

Definition at line 143 of file UT_SymMatrix3.h.

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

Definition at line 276 of file UT_SymMatrix3.h.

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

Definition at line 283 of file UT_SymMatrix3.h.

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

Definition at line 292 of file UT_SymMatrix3.h.

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

Definition at line 299 of file UT_SymMatrix3.h.

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

Definition at line 309 of file UT_SymMatrix3.h.

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

Definition at line 316 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 93 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 101 of file UT_SymMatrix3.h.

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

Definition at line 179 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 176 of file UT_SymMatrix3.h.

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

Definition at line 328 of file UT_SymMatrix3.h.

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

Set this to the zero matrix.

Definition at line 73 of file UT_SymMatrix3.h.

Friends And Related Function Documentation

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

Definition at line 212 of file UT_SymMatrix3.h.

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

Definition at line 213 of file UT_SymMatrix3.h.

Member Data Documentation

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

Definition at line 208 of file UT_SymMatrix3.h.

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

Definition at line 209 of file UT_SymMatrix3.h.

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

Definition at line 207 of file UT_SymMatrix3.h.

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

Definition at line 46 of file UT_SymMatrix3.h.


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