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_COLLAPSE_SINGLETONS(ID, BOOL) myEval[ID].myCollapseSingletons = BOOL; |
#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 280 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_D | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 865 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_F | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 636 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_I | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 517 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_ARRAY_S | ( | CLASS, | |
ID, | |||
NAME, | |||
ARRAY_TYPE, | |||
METHOD | |||
) |
Definition at line 740 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_COLLAPSE_SINGLETONS | ( | ID, | |
BOOL | |||
) | myEval[ID].myCollapseSingletons = BOOL; |
Definition at line 448 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_D | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 831 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_F | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 608 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_I | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 469 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_CONST_S | ( | CLASS, | |
ID, | |||
NAME, | |||
VALUE | |||
) |
Definition at line 706 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_D | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 820 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF | ( | ID, | |
NAME, | |||
TUPLESIZE, | |||
STORAGE | |||
) |
Definition at line 428 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 814 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 594 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 452 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 689 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_DEF_VARYING | ( | ID, | |
NAME, | |||
TUPLESIZE_FUNC, | |||
STORAGE | |||
) |
Definition at line 433 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 817 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 597 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 455 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 692 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_F | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 600 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_I | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 458 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_D | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 842 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_F | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 616 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_I | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 480 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_METHOD_S | ( | CLASS, | |
ID, | |||
NAME, | |||
METHOD | |||
) |
Definition at line 717 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_OPTIONS | ( | ID, | |
OPTIONS | |||
) | myEval[ID].myOptions = &OPTIONS; |
Definition at line 442 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_S | ( | CLASS, | |
ID, | |||
NAME, | |||
EVAL | |||
) |
Definition at line 695 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_D | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 883 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_F | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 655 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_I | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 536 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_D | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 894 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_F | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 663 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_I | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 547 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_METHOD_S | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 769 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_S | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 758 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_D | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 905 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_F | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 671 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_I | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 558 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_D | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 921 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_F | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 679 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_I | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 575 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_METHOD_S | ( | CLASS, | |
ID, | |||
METHOD | |||
) |
Definition at line 796 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_SET_TUPLE_S | ( | CLASS, | |
ID, | |||
SETFUNC | |||
) |
Definition at line 780 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 853 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 624 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 491 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 857 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 628 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 504 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_METHOD_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 732 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_TUPLE_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TUPLESIZE, | |||
EVAL | |||
) |
Definition at line 728 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_D | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 878 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_F | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 650 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_I | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 531 of file GA_IntrinsicMacros.h.
#define GA_INTRINSIC_VARYING_S | ( | CLASS, | |
ID, | |||
NAME, | |||
TSIZE, | |||
EVAL | |||
) |
Definition at line 753 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.