62 return sizeof(ustring);
68 return sizeof(
void *);
106 return &zero_transform;
111 static ustring
names[] = {ustring(
"undefined"),
113 ustring(
"boolean"), ustring(
"float"),
114 ustring(
"int"), ustring(
"uint"),
115 ustring(
"color"), ustring(
"vector"),
116 ustring(
"point"), ustring(
"normal"),
117 ustring(
"point2"), ustring(
"closure"),
118 ustring(
"string"), ustring(
"enum"),
119 ustring(
"transform"), ustring(
"node"),
121 ustring(
"array_boolean"), ustring(
"array_float"),
122 ustring(
"array_int"), ustring(
"array_color"),
123 ustring(
"array_vector"), ustring(
"array_point"),
124 ustring(
"array_normal"), ustring(
"array_point2"),
125 ustring(
"array_string"), ustring(
"array_transform"),
126 ustring(
"array_node")};
155 const void *default_value,
169 socket.
flags = flags | extra_flags;
170 assert(
inputs.size() < std::numeric_limits<SocketModifiedFlags>::digits);
215 static unordered_map<ustring, NodeType, ustringHash> _types;
224 fprintf(stderr,
"Node type %s registered twice!\n", name_);
233 type->create = create_;
239 unordered_map<ustring, NodeType, ustringHash>::iterator it =
types().find(
name);
240 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