HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_Matrix2.h File Reference
#include "UT_API.h"
#include "UT_Assert.h"
#include "UT_FixedVectorTraits.h"
#include "UT_VectorTypes.h"
#include <SYS/SYS_Types.h>
#include <SYS/SYS_Math.h>
#include <SYS/SYS_StaticAssert.h>
#include <iosfwd>
#include "UT_Vector2.h"
+ Include dependency graph for UT_Matrix2.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UT_Matrix2T< T >
 
class  UT_FixedVector< T, D >
 
struct  UT_FixedVectorTraits< UT_Matrix2T< T > >
 
struct  UT_Matrix2TFromFixed< T >
 
struct  UT_FromFixed< V >
 
struct  UT_FromFixed< UT_Matrix2T< T > >
 

Macros

#define __UT_Matrix2_h__
 

Functions

template<typename T >
UT_API UT_Matrix2T< T > operator+ (const UT_Matrix2T< T > &m1, const UT_Matrix2T< T > &m2)
 
template<typename T , typename S >
UT_API UT_Matrix2T< T > operator+ (const UT_Matrix2T< T > &m, const UT_Vector2T< S > &v)
 
template<typename T >
UT_API UT_Matrix2T< T > operator+ (const UT_Matrix2T< T > &mat, T sc)
 
template<typename T >
UT_API UT_Matrix2T< T > operator- (const UT_Matrix2T< T > &m1, const UT_Matrix2T< T > &m2)
 
template<typename T , typename S >
UT_API UT_Matrix2T< T > operator- (const UT_Matrix2T< T > &m, const UT_Vector2T< S > &v)
 
template<typename T , typename S >
UT_API UT_Matrix2T< T > operator- (const UT_Vector2T< S > &v, const UT_Matrix2T< T > &m)
 
template<typename T >
UT_API UT_Matrix2T< T > operator- (T sc, const UT_Matrix2T< T > &mat)
 
template<typename T >
UT_API UT_Matrix2T< T > operator* (const UT_Matrix2T< T > &m1, const UT_Matrix2T< T > &m2)
 
template<typename T , typename S >
UT_API UT_Matrix2T< T > operator* (const UT_Matrix2T< T > &mat, S sc)
 
template<typename T >
UT_API UT_Matrix2T< T > operator/ (T sc, const UT_Matrix2T< T > &mat)
 
template<typename T >
UT_Matrix2T< T > SYSmin (const UT_Matrix2T< T > &v1, const UT_Matrix2T< T > &v2)
 
template<typename T >
UT_Matrix2T< T > SYSmax (const UT_Matrix2T< T > &v1, const UT_Matrix2T< T > &v2)
 
template<typename T , typename S >
UT_Matrix2T< T > SYSlerp (const UT_Matrix2T< T > &v1, const UT_Matrix2T< T > &v2, S t)
 
template<typename T , typename S >
UT_Matrix2T< T > SYSbilerp (const UT_Matrix2T< T > &u0v0, const UT_Matrix2T< T > &u1v0, const UT_Matrix2T< T > &u0v1, const UT_Matrix2T< T > &u1v1, S u, S v)
 Bilinear interpolation. More...
 
template<typename T , typename S >
UT_Matrix2T< T > SYSbarycentric (const UT_Matrix2T< T > &v0, const UT_Matrix2T< T > &v1, const UT_Matrix2T< T > &v2, S u, S v)
 Barycentric interpolation. More...
 
template<>
UT_Matrix2T< floatSYSlerp (const UT_Matrix2T< float > &v1, const UT_Matrix2T< float > &v2, float t)
 
template<typename T >
UT_API size_t format (char *buffer, size_t buffer_size, const UT_Matrix2T< T > &v)
 
template<typename TS >
constexpr UT_Matrix2T
< SYS_FixedArrayElement_t< TS > > 
UTmakeMatrix2T (const TS &as) noexcept
 

Macro Definition Documentation

#define __UT_Matrix2_h__

Definition at line 11 of file UT_Matrix2.h.

Function Documentation

template<typename T >
UT_API size_t format ( char *  buffer,
size_t  buffer_size,
const UT_Matrix2T< T > &  v 
)
template<typename T >
UT_API UT_Matrix2T<T> operator* ( const UT_Matrix2T< T > &  m1,
const UT_Matrix2T< T > &  m2 
)
template<typename T , typename S >
UT_API UT_Matrix2T<T> operator* ( const UT_Matrix2T< T > &  mat,
sc 
)
template<typename T >
UT_API UT_Matrix2T<T> operator+ ( const UT_Matrix2T< T > &  m1,
const UT_Matrix2T< T > &  m2 
)
template<typename T , typename S >
UT_API UT_Matrix2T<T> operator+ ( const UT_Matrix2T< T > &  m,
const UT_Vector2T< S > &  v 
)
template<typename T >
UT_API UT_Matrix2T<T> operator+ ( const UT_Matrix2T< T > &  mat,
sc 
)
template<typename T >
UT_API UT_Matrix2T<T> operator- ( const UT_Matrix2T< T > &  m1,
const UT_Matrix2T< T > &  m2 
)
template<typename T , typename S >
UT_API UT_Matrix2T<T> operator- ( const UT_Matrix2T< T > &  m,
const UT_Vector2T< S > &  v 
)
template<typename T , typename S >
UT_API UT_Matrix2T<T> operator- ( const UT_Vector2T< S > &  v,
const UT_Matrix2T< T > &  m 
)
template<typename T >
UT_API UT_Matrix2T<T> operator- ( sc,
const UT_Matrix2T< T > &  mat 
)
template<typename T >
UT_API UT_Matrix2T<T> operator/ ( sc,
const UT_Matrix2T< T > &  mat 
)
template<typename T , typename S >
UT_Matrix2T<T> SYSbarycentric ( const UT_Matrix2T< T > &  v0,
const UT_Matrix2T< T > &  v1,
const UT_Matrix2T< T > &  v2,
u,
v 
)
inline

Barycentric interpolation.

Definition at line 79 of file UT_Matrix2.h.

template<typename T , typename S >
UT_Matrix2T<T> SYSbilerp ( const UT_Matrix2T< T > &  u0v0,
const UT_Matrix2T< T > &  u1v0,
const UT_Matrix2T< T > &  u0v1,
const UT_Matrix2T< T > &  u1v1,
u,
v 
)
inline

Bilinear interpolation.

Definition at line 72 of file UT_Matrix2.h.

template<typename T , typename S >
UT_Matrix2T< T > SYSlerp ( const UT_Matrix2T< T > &  v1,
const UT_Matrix2T< T > &  v2,
t 
)
inline
Examples:
RAY/RAY_DemoGT.C, and SOP/SOP_BrushHairLen.C.

Definition at line 675 of file UT_Matrix2.h.

template<>
UT_Matrix2T<float> SYSlerp ( const UT_Matrix2T< float > &  v1,
const UT_Matrix2T< float > &  v2,
float  t 
)
inline

Definition at line 688 of file UT_Matrix2.h.

template<typename T >
UT_Matrix2T< T > SYSmax ( const UT_Matrix2T< T > &  v1,
const UT_Matrix2T< T > &  v2 
)
inline

Definition at line 663 of file UT_Matrix2.h.

template<typename T >
UT_Matrix2T< T > SYSmin ( const UT_Matrix2T< T > &  v1,
const UT_Matrix2T< T > &  v2 
)
inline

Definition at line 651 of file UT_Matrix2.h.

template<typename TS >
constexpr UT_Matrix2T< SYS_FixedArrayElement_t< TS > > UTmakeMatrix2T ( const TS &  as)
noexcept

Definition at line 735 of file UT_Matrix2.h.