HDK
|
#include <GA/GA_IntrinsicDef.h>
#include <GA/GA_IntrinsicEval.h>
#include <UT/UT_Assert.h>
#include <UT/UT_StringArray.h>
#include <UT/UT_StackAlloc.h>
#include <stdio.h>
Go to the source code of this file.
Macros | |
#define | GA_START_INTRINSIC_DEF(CLASS, NUM_INTRINSICS) |
#define | GA_END_INTRINSIC_DEF(CLASS, BASECLASS) |
#define | GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, STORAGE) |
#define | GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, STORAGE) |
#define | GA_INTRINSIC_OPTIONS(ID, OPTIONS) myEval[ID].myOptions = &OPTIONS; |
#define | GA_INTRINSIC_DEF_I(ID, NAME, TUPLESIZE) GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_INT) |
#define | GA_INTRINSIC_DEF_VARYING_I(ID, NAME, TUPLESIZE_FUNC) GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_INT) |
#define | GA_INTRINSIC_I(CLASS, ID, NAME, EVAL) |
#define | GA_INTRINSIC_CONST_I(CLASS, ID, NAME, VALUE) |
#define | GA_INTRINSIC_METHOD_I(CLASS, ID, NAME, METHOD) |
#define | GA_INTRINSIC_TUPLE_I(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_TUPLE_METHOD_I(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_ARRAY_I(CLASS, ID, NAME, ARRAY_TYPE, METHOD) |
#define | GA_INTRINSIC_VARYING_I(CLASS, ID, NAME, TSIZE, EVAL) |
#define | GA_INTRINSIC_SET_I(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_METHOD_I(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_SET_TUPLE_I(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_TUPLE_METHOD_I(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_DEF_F(ID, NAME, TUPLESIZE) GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_FLOAT) |
#define | GA_INTRINSIC_DEF_VARYING_F(ID, NAME, TUPLESIZE_FUNC) GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_FLOAT) |
#define | GA_INTRINSIC_F(CLASS, ID, NAME, EVAL) |
#define | GA_INTRINSIC_CONST_F(CLASS, ID, NAME, VALUE) |
#define | GA_INTRINSIC_METHOD_F(CLASS, ID, NAME, METHOD) |
#define | GA_INTRINSIC_TUPLE_F(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_TUPLE_METHOD_F(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_ARRAY_F(CLASS, ID, NAME, ARRAY_TYPE, METHOD) |
#define | GA_INTRINSIC_VARYING_F(CLASS, ID, NAME, TSIZE, EVAL) |
#define | GA_INTRINSIC_SET_F(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_METHOD_F(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_SET_TUPLE_F(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_TUPLE_METHOD_F(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_DEF_S(ID, NAME, TUPLESIZE) GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_STRING) |
#define | GA_INTRINSIC_DEF_VARYING_S(ID, NAME, TUPLESIZE_FUNC) GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_STRING) |
#define | GA_INTRINSIC_S(CLASS, ID, NAME, EVAL) |
#define | GA_INTRINSIC_CONST_S(CLASS, ID, NAME, VALUE) |
#define | GA_INTRINSIC_METHOD_S(CLASS, ID, NAME, METHOD) |
#define | GA_INTRINSIC_TUPLE_S(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_TUPLE_METHOD_S(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_ARRAY_S(CLASS, ID, NAME, ARRAY_TYPE, METHOD) |
#define | GA_INTRINSIC_VARYING_S(CLASS, ID, NAME, TSIZE, EVAL) |
#define | GA_INTRINSIC_SET_S(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_METHOD_S(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_SET_TUPLE_S(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_TUPLE_METHOD_S(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_DEF_D(ID, NAME, TUPLESIZE) GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_DICT) |
#define | GA_INTRINSIC_DEF_VARYING_D(ID, NAME, TUPLESIZE_FUNC) GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_DICT) |
#define | GA_INTRINSIC_D(CLASS, ID, NAME, EVAL) |
#define | GA_INTRINSIC_CONST_D(CLASS, ID, NAME, VALUE) |
#define | GA_INTRINSIC_METHOD_D(CLASS, ID, NAME, METHOD) |
#define | GA_INTRINSIC_TUPLE_D(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_TUPLE_METHOD_D(CLASS, ID, NAME, TUPLESIZE, EVAL) |
#define | GA_INTRINSIC_ARRAY_D(CLASS, ID, NAME, ARRAY_TYPE, METHOD) |
#define | GA_INTRINSIC_VARYING_D(CLASS, ID, NAME, TSIZE, EVAL) |
#define | GA_INTRINSIC_SET_D(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_METHOD_D(CLASS, ID, METHOD) |
#define | GA_INTRINSIC_SET_TUPLE_D(CLASS, ID, SETFUNC) |
#define | GA_INTRINSIC_SET_TUPLE_METHOD_D(CLASS, ID, METHOD) |
#define GA_END_INTRINSIC_DEF | ( | CLASS, | |
BASECLASS | |||
) |
Definition at line 276 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_D | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 852 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_F | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 623 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_I | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 504 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_S | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 727 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_D | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 818 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_F | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 595 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_I | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 456 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_S | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 693 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_D | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 807 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF | ( | ID, | |
NAME, | |||
TUPLESIZE, | |||
STORAGE | |||
) |
Definition at line 421 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_D | ( | ID, | |
NAME, | |||
TUPLESIZE | |||
) | GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_DICT) |
Definition at line 801 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_F | ( | ID, | |
NAME, | |||
TUPLESIZE | |||
) | GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_FLOAT) |
Definition at line 581 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_I | ( | ID, | |
NAME, | |||
TUPLESIZE | |||
) | GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_INT) |
Definition at line 439 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_S | ( | ID, | |
NAME, | |||
TUPLESIZE | |||
) | GA_INTRINSIC_DEF(ID, NAME, TUPLESIZE, GA_STORECLASS_STRING) |
Definition at line 676 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC, | |||
STORAGE | |||
) |
Definition at line 426 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING_D | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC | |||
) | GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_DICT) |
Definition at line 804 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING_F | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC | |||
) | GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_FLOAT) |
Definition at line 584 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING_I | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC | |||
) | GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_INT) |
Definition at line 442 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING_S | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC | |||
) | GA_INTRINSIC_DEF_VARYING(ID, NAME, TUPLESIZE_FUNC, GA_STORECLASS_STRING) |
Definition at line 679 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_F | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 587 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_I | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 445 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_D | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 829 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_F | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 603 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_I | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 467 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_S | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 704 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_OPTIONS | ( | ID, | |
OPTIONS | |||
) | myEval[ID].myOptions = &OPTIONS; |
Definition at line 435 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_S | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 682 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_D | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 870 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_F | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 642 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_I | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 523 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_D | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 881 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_F | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 650 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_I | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 534 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_S | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 756 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_S | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 745 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_D | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 892 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_F | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 658 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_I | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 545 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_D | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 908 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_F | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 666 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_I | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 562 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_S | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 783 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_S | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 767 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 840 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 611 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 478 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 844 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 615 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 491 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 719 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 715 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 865 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 637 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 518 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 740 of file GA_IntrinsicMacros.h.
#define GA_START_INTRINSIC_DEF | ( | CLASS, | |
NUM_INTRINSICS | |||
) |
The intrinsic macros help declaring intrinsic attributes for an object (i.e. a primitive). Typically, you'll have code like
There are several ways to declare intrinsic access methods:
GA_INTRINSIC_I(ClassName, Enum, Name, Callback)
GA_INTRINSIC_CONST_I(ClassName, Enum, Name, Value)
GA_INTRINSIC_METHOD_I(ClassName, Enum, Name, MethodName)
GA_INTRINSIC_TUPLE_I(ClassName, Enum, Name, TUPLE_SIZE, Callback)
GA_INTRINSIC_TUPLE_METHOD_I(ClassName, Enum, Name, TUPLE_SIZE, MethodName)
GA_INTRINSIC_ARRAY_I(ClassName, Enum, Name, ArrayType, MethodName)
GA_INTRINSIC_VARYING_I(ClassName, Enum, Name, TupleSizeCallback, Callback)
For setting values, there are similar macros. The tuple size and name are usually defined by the evaluation macros. If there is no "get" method, you can still declare the intrinsic using: GA_INTRINSIC_DEF_I(Enum, Name, TupleSize) GA_INTRINSIC_DEF_VARYING_I(Enum, Name, TupleSizeFunc)
GA_INTRINSIC_SET_I(ClassName, Enum, Callback)
GA_INTRINSIC_SET_METHOD_I(ClassName, Enum, MethodName)
GA_INTRINSIC_SET_TUPLE_I(ClassName, Enum, Callback)
GA_INTRINSIC_SET_TUPLE_METHOD_I(ClassName, Enum, Callback)
Definition at line 125 of file GA_IntrinsicMacros.h.