| HDK
    | 
Generic implmentation of the AIFMath implementation using AIFTuple. More...
#include <GA_AIFStdMath.h>
 Inheritance diagram for GA_AIFStdMath:
 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_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.