HDK
|
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< T > | type |
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... | |
template<typename S > | |
UT_SymMatrix3T (const UT_SymMatrix3T< S > &other) | |
Convert from another floating point type. 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... | |
T & | operator() (const int i, const int j) |
Return reference to element (i,j) More... | |
type & | operator+= (const type &m) |
type & | operator-= (const type &m) |
type & | operator*= (T scalar) |
type & | operator/= (T scalar) |
void | lerp (const type &a, const type &b, T t) |
const LowerTri & | lowerTri () const |
Return reference to the lower triangular elements for symbolic access. More... | |
const UpperTri & | upperTri () 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 T * | data () const |
T * | data () |
Static Public Member Functions | |
template<int N> | |
static UT_SymMatrix3T< T > | householderZeroUpper (const UT_Matrix3T< T > &m) |
Static Public Attributes | |
static constexpr int | tuple_size = 6 |
Friends | |
template<typename S > | |
class | UT_Matrix3T |
template<typename S > | |
class | UT_Matrix4T |
Generic symmetric 3x3 matrix.
Definition at line 27 of file UT_SymMatrix3.h.
typedef UT_SymMatrix3T<T> UT_SymMatrix3T< T >::type |
Definition at line 46 of file UT_SymMatrix3.h.
typedef T UT_SymMatrix3T< T >::value_type |
Definition at line 45 of file UT_SymMatrix3.h.
|
default |
Construct uninitialized matrix.
|
inlineexplicit |
Construct matrix with uniform scale.
Definition at line 53 of file UT_SymMatrix3.h.
|
inlineexplicit |
Construct matrix with arbitrary scale.
Definition at line 59 of file UT_SymMatrix3.h.
|
inlineexplicit |
Convert from another floating point type.
Definition at line 66 of file UT_SymMatrix3.h.
|
inline |
Construct matrix with full components.
Definition at line 73 of file UT_SymMatrix3.h.
|
inline |
Return the raw pointer to an array of tuple_size (6) elements
Definition at line 183 of file UT_SymMatrix3.h.
|
inline |
Return the raw pointer to an array of tuple_size (6) elements
Definition at line 184 of file UT_SymMatrix3.h.
|
inlinestatic |
Create Householder Reflection matrix R such that R*M will be M with the upper N components of column N zeroed out.
Definition at line 283 of file UT_SymMatrix3.h.
|
inline |
Set this to the identity matrix.
Definition at line 94 of file UT_SymMatrix3.h.
|
inline |
Return whether this is the identity matrix.
Definition at line 100 of file UT_SymMatrix3.h.
Set this to a linear interpolation of the two given transforms: this = a + t(b - a)
Definition at line 165 of file UT_SymMatrix3.h.
|
inline |
Return reference to the lower triangular elements for symbolic access.
Definition at line 188 of file UT_SymMatrix3.h.
|
inline |
Return element (i,j)
Definition at line 122 of file UT_SymMatrix3.h.
|
inline |
Return reference to element (i,j)
Definition at line 131 of file UT_SymMatrix3.h.
|
inline |
Definition at line 152 of file UT_SymMatrix3.h.
|
inline |
Definition at line 140 of file UT_SymMatrix3.h.
|
inline |
Definition at line 146 of file UT_SymMatrix3.h.
|
inline |
Definition at line 158 of file UT_SymMatrix3.h.
void UT_SymMatrix3T< T >::outerproduct | ( | const UT_Vector3T< T > & | v | ) |
Definition at line 347 of file UT_SymMatrix3.h.
Definition at line 354 of file UT_SymMatrix3.h.
void UT_SymMatrix3T< T >::outerproductUpdate | ( | const UT_Vector3T< T > & | v | ) |
Definition at line 363 of file UT_SymMatrix3.h.
Definition at line 370 of file UT_SymMatrix3.h.
void UT_SymMatrix3T< T >::outerproductUpdate | ( | const UT_Vector3T< T > & | v, |
T | coef | ||
) |
Definition at line 380 of file UT_SymMatrix3.h.
Definition at line 387 of file UT_SymMatrix3.h.
Set this to a scale matrix.
Definition at line 108 of file UT_SymMatrix3.h.
|
inline |
Set this to a scale matrix.
Definition at line 116 of file UT_SymMatrix3.h.
|
inline |
Definition at line 194 of file UT_SymMatrix3.h.
|
inline |
Return reference to the upper triangular elements for symbolic access.
Definition at line 191 of file UT_SymMatrix3.h.
T UT_SymMatrix3T< T >::vQv | ( | const UT_Vector3T< T > & | v | ) | const |
Definition at line 399 of file UT_SymMatrix3.h.
|
inline |
Set this to the zero matrix.
Definition at line 88 of file UT_SymMatrix3.h.
Definition at line 227 of file UT_SymMatrix3.h.
Definition at line 228 of file UT_SymMatrix3.h.
LowerTri UT_SymMatrix3T< T >::myLower |
Definition at line 223 of file UT_SymMatrix3.h.
UpperTri UT_SymMatrix3T< T >::myUpper |
Definition at line 224 of file UT_SymMatrix3.h.
T UT_SymMatrix3T< T >::myV[6] |
Definition at line 222 of file UT_SymMatrix3.h.
|
static |
Definition at line 47 of file UT_SymMatrix3.h.