HDK
|
Generic implmentation of the AIFMath implementation using AIFTuple. More...
#include <GA_AIFStdMath.h>
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_AIFMath * | getNoMath () |
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.
|
inline |
Definition at line 44 of file GA_AIFStdMath.h.
|
override |
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
|
inline |
Use the define from GA_AIFMath to declare binary methods.
Operand based implementations
Definition at line 126 of file GA_AIFStdMath.h.
|
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
|
inline |
Use the define from GA_AIFMath to declare binary methods.
Operand based implementations
Definition at line 121 of file GA_AIFStdMath.h.