Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/graph/node_type.h
| Show First 20 Lines • Show All 159 Lines • ▼ Show 20 Lines | #define NODE_ABSTRACT_DECLARE \ | ||||
| static const NodeType *node_base_type; | static const NodeType *node_base_type; | ||||
| #define NODE_ABSTRACT_DEFINE(structname) \ | #define NODE_ABSTRACT_DEFINE(structname) \ | ||||
| const NodeType *structname::node_base_type = structname::register_base_type<structname>(); \ | const NodeType *structname::node_base_type = structname::register_base_type<structname>(); \ | ||||
| template<typename T> const NodeType *structname::register_base_type() | template<typename T> const NodeType *structname::register_base_type() | ||||
| /* Sock Definition Macros */ | /* Sock Definition Macros */ | ||||
| #define SOCKET_OFFSETOF(T, name) (((char *)&(((T *)1)->name)) - (char *)1) | #define SOCKET_OFFSETOF(T, name) offsetof(T, name) | ||||
| #define SOCKET_SIZEOF(T, name) (sizeof(((T *)1)->name)) | #define SOCKET_SIZEOF(T, name) (sizeof(T::name)) | ||||
| #define SOCKET_DEFINE(name, ui_name, default_value, datatype, TYPE, flags, ...) \ | #define SOCKET_DEFINE(name, ui_name, default_value, datatype, TYPE, flags, ...) \ | ||||
| { \ | { \ | ||||
| static datatype defval = default_value; \ | static datatype defval = default_value; \ | ||||
| CHECK_TYPE(((T *)1)->name, datatype); \ | CHECK_TYPE(T::name, datatype); \ | ||||
| type->register_input(ustring(#name), \ | type->register_input(ustring(#name), \ | ||||
| ustring(ui_name), \ | ustring(ui_name), \ | ||||
| TYPE, \ | TYPE, \ | ||||
| SOCKET_OFFSETOF(T, name), \ | SOCKET_OFFSETOF(T, name), \ | ||||
| &defval, \ | &defval, \ | ||||
| NULL, \ | NULL, \ | ||||
| NULL, \ | NULL, \ | ||||
| flags, \ | flags, \ | ||||
| ▲ Show 20 Lines • Show All 212 Lines • Show Last 20 Lines | |||||