49 return sizeof(ustring);
55 return sizeof(
void *);
93 return &zero_transform;
98 static ustring
names[] = {ustring(
"undefined"),
100 ustring(
"boolean"), ustring(
"float"),
101 ustring(
"int"), ustring(
"uint"),
102 ustring(
"color"), ustring(
"vector"),
103 ustring(
"point"), ustring(
"normal"),
104 ustring(
"point2"), ustring(
"closure"),
105 ustring(
"string"), ustring(
"enum"),
106 ustring(
"transform"), ustring(
"node"),
108 ustring(
"array_boolean"), ustring(
"array_float"),
109 ustring(
"array_int"), ustring(
"array_color"),
110 ustring(
"array_vector"), ustring(
"array_point"),
111 ustring(
"array_normal"), ustring(
"array_point2"),
112 ustring(
"array_string"), ustring(
"array_transform"),
113 ustring(
"array_node")};
142 const void *default_value,
156 socket.
flags = flags | extra_flags;
157 assert(
inputs.size() < std::numeric_limits<SocketModifiedFlags>::digits);
202 static unordered_map<ustring, NodeType, ustringHash> _types;
211 fprintf(stderr,
"Node type %s registered twice!\n", name_);
220 type->create = create_;
226 unordered_map<ustring, NodeType, ustringHash>::iterator it =
types().find(
name);
227 return (it ==
types().end()) ?
NULL : &it->second;
typedef float(TangentPoint)[2]
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
#define CCL_NAMESPACE_END
static bNodeSocketTemplate outputs[]
static bNodeSocketTemplate inputs[]
const SocketType * find_output(ustring name) const
vector< SocketType, std::allocator< SocketType > > inputs
NodeType(Type type=NONE, const NodeType *base=NULL)
void register_output(ustring name, ustring ui_name, SocketType::Type type)
static const NodeType * find(ustring name)
static NodeType * add(const char *name, CreateFunc create, Type type=NONE, const NodeType *base=NULL)
const SocketType * find_input(ustring name) const
static unordered_map< ustring, NodeType, ustringHash > & types()
vector< SocketType, std::allocator< SocketType > > outputs
void register_input(ustring name, ustring ui_name, SocketType::Type type, int struct_offset, const void *default_value, const NodeEnum *enum_values=NULL, const NodeType *node_type=NULL, int flags=0, int extra_flags=0)
const void * default_value
const NodeType * node_type
static bool is_float3(Type type)
static ustring type_name(Type type)
static void * zero_default_value()
const NodeEnum * enum_values
SocketModifiedFlags modified_flag_bit