28 to->data = from->data;
29 to->datatype = from->datatype;
72 for (sock =
static_cast<bNodeSocket *
>(node->outputs.first), a = 0; sock;
73 sock = sock->
next, a++)
92 ngroup.ensure_topology_cache();
93 const bNode *group_output_node = ngroup.group_output_node();
94 if (!group_output_node) {
130 inode->runtime->need_exec = 1;
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_INDEX(type, var, list, index_var)
MINLINE void copy_v4_v4(float r[4], const float a[4])
void node_type_size(bNodeType *ntype, int width, int minwidth, int maxwidth)
void node_register_type(bNodeType *ntype)
void node_type_base_custom(bNodeType *ntype, const char *idname, const char *name, const char *enum_name, short nclass)
void node_group_declare(NodeDeclarationBuilder &b)
void node_group_label(const bNodeTree *, const bNode *node, char *label, int label_maxncpy)
bool node_group_poll_instance(const bNode *node, const bNodeTree *nodetree, const char **r_disabled_hint)
bNodeStack * node_get_socket_stack(bNodeStack *stack, bNodeSocket *sock)
static void exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
static void group_execute(void *data, int thread, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
static void group_copy_inputs(bNode *gnode, bNodeStack **in, bNodeStack *gstack)
static void group_freeexec(void *nodedata)
static void group_copy_outputs(bNode *gnode, bNodeStack **out, bNodeStack *gstack)
static void copy_stack(bNodeStack *to, bNodeStack *from)
void register_node_type_tex_group()
static void * group_initexec(bNodeExecContext *context, bNode *node, bNodeInstanceKey key)
bNodeThreadStack * ntreeGetThreadStack(bNodeTreeExec *exec, int thread)
bool ntreeExecThreadNodes(bNodeTreeExec *exec, bNodeThreadStack *nts, void *callerdata, int thread)
bNodeTreeExec * ntreeTexBeginExecTree_internal(bNodeExecContext *context, bNodeTree *ntree, bNodeInstanceKey parent_key)
void ntreeTexEndExecTree_internal(bNodeTreeExec *exec)
void ntreeReleaseThreadStack(bNodeThreadStack *nts)
bool tex_node_poll_default(const blender::bke::bNodeType *, const bNodeTree *ntree, const char **r_disabled_hint)
bool node_insert_link_default(bNodeTree *, bNode *, bNodeLink *)
StructRNA * RNA_struct_find(const char *identifier)
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
struct bNodeSocket * next
NodeFreeExecFunction free_exec_fn
bool(* poll_instance)(const bNode *node, const bNodeTree *nodetree, const char **r_disabled_hint)
void(* labelfunc)(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
bool(* poll)(const bNodeType *ntype, const bNodeTree *nodetree, const char **r_disabled_hint)
bool(* insert_link)(bNodeTree *ntree, bNode *node, bNodeLink *link)
NodeDeclareFunction declare
NodeInitExecFunction init_exec_fn