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

A factored transform geared for animation blending. More...

#include <GU_AgentXform.h>

Public Types

typedef GU_AgentXformT< Ttype
 

Public Member Functions

SYS_FORCE_INLINE GU_AgentXformT ()=default
 
 GU_AgentXformT (T scale)
 
template<typename S >
 GU_AgentXformT (const GU_AgentXformT< S > &other)
 Convert from another floating point type. More...
 
const UT_SymMatrix3T< T > & stretch () const
 
const UT_QuaternionT< T > & rotate () const
 
const UT_Vector3T< T > & translate () const
 
void zero ()
 
void identity ()
 
void setTransform (T tx, T ty, T tz, T rx, T ry, T rz, T sx, T sy, T sz)
 
void setTransform (const UT_Vector3T< T > &t, const UT_QuaternionT< T > &r, const UT_Vector3T< T > &s)
 
template<typename S >
void getTransform (S &tx, S &ty, S &tz, S &rx, S &ry, S &rz, S &sx, S &sy, S &sz) const
 
void setLerp (const type &a, const type &b, T t)
 
void setLerpAligned (const type &a, const type &b, T t)
 
void addScaled (T s, const type &xform)
 
void concat (T t, const type &xform)
 Perform an additive blend with the specified percentage. More...
 
SYS_FORCE_INLINE void getMatrix4 (UT_Matrix4T< T > &m) const
 
void setMatrix4 (const UT_Matrix4T< T > &m)
 
void setMatrix4 (const UT_Matrix4T< T > &m, const UT_QuaternionT< T > &ref)
 

Detailed Description

template<typename T>
class GU_AgentXformT< T >

A factored transform geared for animation blending.

Definition at line 20 of file GU_AgentXform.h.

Member Typedef Documentation

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

Definition at line 23 of file GU_AgentXform.h.

Constructor & Destructor Documentation

template<typename T>
SYS_FORCE_INLINE GU_AgentXformT< T >::GU_AgentXformT ( )
default
template<typename T>
GU_AgentXformT< T >::GU_AgentXformT ( T  scale)
inlineexplicit

Definition at line 28 of file GU_AgentXform.h.

template<typename T>
template<typename S >
GU_AgentXformT< T >::GU_AgentXformT ( const GU_AgentXformT< S > &  other)
inlineexplicit

Convert from another floating point type.

Definition at line 37 of file GU_AgentXform.h.

Member Function Documentation

template<typename T>
void GU_AgentXformT< T >::addScaled ( T  s,
const type xform 
)
inline

Definition at line 131 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::concat ( T  t,
const type xform 
)
inline

Perform an additive blend with the specified percentage.

Definition at line 142 of file GU_AgentXform.h.

template<typename T>
SYS_FORCE_INLINE void GU_AgentXformT< T >::getMatrix4 ( UT_Matrix4T< T > &  m) const
inline

Definition at line 159 of file GU_AgentXform.h.

template<typename T>
template<typename S >
void GU_AgentXformT< T >::getTransform ( S tx,
S ty,
S tz,
S rx,
S ry,
S rz,
S sx,
S sy,
S sz 
) const
inline

Definition at line 86 of file GU_AgentXform.h.

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

Definition at line 54 of file GU_AgentXform.h.

template<typename T>
const UT_QuaternionT<T>& GU_AgentXformT< T >::rotate ( ) const
inline

Definition at line 45 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::setLerp ( 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 108 of file GU_AgentXform.h.

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

Same as setLerp, but this assumes that a and b's rotation matrices are lined up.

Definition at line 124 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::setMatrix4 ( const UT_Matrix4T< T > &  m)
inline

Definition at line 175 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::setMatrix4 ( const UT_Matrix4T< T > &  m,
const UT_QuaternionT< T > &  ref 
)
inline

Definition at line 205 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::setTransform ( T  tx,
T  ty,
T  tz,
T  rx,
T  ry,
T  rz,
T  sx,
T  sy,
T  sz 
)
inline

Set the transform, in SRT/XYZ transform order. The rotations are given in radians.

Definition at line 63 of file GU_AgentXform.h.

template<typename T>
void GU_AgentXformT< T >::setTransform ( const UT_Vector3T< T > &  t,
const UT_QuaternionT< T > &  r,
const UT_Vector3T< T > &  s 
)
inline

Set the transform, in SRT transform order. The rotations are specified by a quaternion.

Definition at line 76 of file GU_AgentXform.h.

template<typename T>
const UT_SymMatrix3T<T>& GU_AgentXformT< T >::stretch ( ) const
inline

Definition at line 44 of file GU_AgentXform.h.

template<typename T>
const UT_Vector3T<T>& GU_AgentXformT< T >::translate ( ) const
inline

Definition at line 46 of file GU_AgentXform.h.

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

Definition at line 48 of file GU_AgentXform.h.


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