HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_AIFStdMath Class Reference

Generic implmentation of the AIFMath implementation using AIFTuple. More...

#include <GA_AIFStdMath.h>

+ Inheritance diagram for GA_AIFStdMath:

Public Member Functions

 GA_AIFStdMath ()
 
 ~GA_AIFStdMath () override
 
bool add (GA_AttributeOperand &dest, GA_AttributeOperand &a, GA_AttributeOperand &b, int component=-1) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool mul (GA_AttributeOperand &dest, GA_AttributeOperand &a, GA_AttributeOperand &b, int component=-1) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool sub (GA_AttributeOperand &dest, GA_AttributeOperand &a, GA_AttributeOperand &b, int component=-1) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool madd (GA_AttributeOperand &dest, GA_AttributeOperand &a, GA_AttributeOperand &b, int component=-1) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool normalize (GA_AttributeOperand &dest, GA_AttributeOperand &src) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix3 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix3 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix3 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix3 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult3 (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool rowVecMult3 (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult3 (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_Matrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
bool colVecMult3 (GA_AttributeOperand &dest, GA_AttributeOperand &src, const UT_DMatrix4 &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
template<typename MTYPE >
bool ptransform (GA_AttributeOperand &dest, GA_AttributeOperand &src, const MTYPE &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
template<typename MTYPE >
bool vtransform (GA_AttributeOperand &dest, GA_AttributeOperand &src, const MTYPE &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
template<typename MTYPE >
bool ntransform (GA_AttributeOperand &dest, GA_AttributeOperand &src, const MTYPE &xform) const
 Use the define from GA_AIFMath to declare binary methods. More...
 
- Public Member Functions inherited from GA_AIFMath
 GA_AIFMath ()
 
virtual ~GA_AIFMath ()
 

Additional Inherited Members

- Static Public Member Functions inherited from GA_AIFMath
static const GA_AIFMathgetNoMath ()
 

Detailed Description

Generic implmentation of the AIFMath implementation using AIFTuple.

The GA_AIFMath class provides a pure virtual interface requiring developers to implement all specializations of the arithmetic operations. However, there are a lot of methods to implement. If your attribute provides an AIFTuple numeric interface, AIFStdMath will use this interface to perform many operations. If you sub-class from AIFStdMath instead of AIFMath you can still specialize bottleneck operations while providing a complete interface.

However, be warned, if the AIFMath interface changes, you may end up missing opportunities for specialization.

Definition at line 41 of file GA_AIFStdMath.h.

Constructor & Destructor Documentation

GA_AIFStdMath::GA_AIFStdMath ( )
inline

Definition at line 44 of file GA_AIFStdMath.h.

GA_AIFStdMath::~GA_AIFStdMath ( )
override

Member Function Documentation

bool GA_AIFStdMath::add ( GA_AttributeOperand dest,
GA_AttributeOperand a,
GA_AttributeOperand b,
int  component = -1 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix3 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix3 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult3 ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::colVecMult3 ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::madd ( GA_AttributeOperand dest,
GA_AttributeOperand a,
GA_AttributeOperand b,
int  component = -1 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::mul ( GA_AttributeOperand dest,
GA_AttributeOperand a,
GA_AttributeOperand b,
int  component = -1 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::normalize ( GA_AttributeOperand dest,
GA_AttributeOperand src 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

template<typename MTYPE >
bool GA_AIFStdMath::ntransform ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const MTYPE &  xform 
) const
inline

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

Definition at line 126 of file GA_AIFStdMath.h.

template<typename MTYPE >
bool GA_AIFStdMath::ptransform ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const MTYPE &  xform 
) const
inline

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

Definition at line 116 of file GA_AIFStdMath.h.

bool GA_AIFStdMath::rowVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::rowVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::rowVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix3 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::rowVecMult ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix3 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::rowVecMult3 ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_Matrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::rowVecMult3 ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const UT_DMatrix4 xform 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

bool GA_AIFStdMath::sub ( GA_AttributeOperand dest,
GA_AttributeOperand a,
GA_AttributeOperand b,
int  component = -1 
) const

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

template<typename MTYPE >
bool GA_AIFStdMath::vtransform ( GA_AttributeOperand dest,
GA_AttributeOperand src,
const MTYPE &  xform 
) const
inline

Use the define from GA_AIFMath to declare binary methods.

Operand based implementations

Definition at line 121 of file GA_AIFStdMath.h.


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