66
void node_copy_curves(bNode *orig_node, bNode *new_node)
68
new_node->storage = curvemapping_copy(orig_node->storage);
71
void node_copy_standard_storage(bNode *orig_node, bNode *new_node)
73
new_node->storage = MEM_dupallocN(orig_node->storage);
76
void *node_initexec_curves(bNode *node)
67
void node_copy_curves(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, bNode *src_node)
69
dest_node->storage = curvemapping_copy(src_node->storage);
72
void node_copy_standard_storage(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, bNode *src_node)
74
dest_node->storage = MEM_dupallocN(src_node->storage);
77
void *node_initexec_curves(bNodeExecContext *UNUSED(context), bNode *node, bNodeInstanceKey UNUSED(key))
78
79
curvemapping_initialize(node->storage);
79
80
return NULL; /* unused return */
112
113
void node_update_internal_links_default(bNodeTree *ntree, bNode *node)
114
bNodeSocket *fromsock_first=NULL, *tosock_first=NULL; /* used for fallback link if no other reconnections are found */
115
bNodeSocket *fromsock_first = NULL, *tosock_first = NULL; /* used for fallback link if no other reconnections are found */
116
117
int num_links_in = 0, num_links_out = 0, num_reconnect = 0;
129
130
fromindex = INT_MAX;
131
for (link=ntree->links.first; link; link=link->next) {
132
for (link = ntree->links.first; link; link = link->next) {
133
if (nodeLinkIsHidden(link))
132
135
if (link->tonode == node && link->tosock->type == datatype) {
133
136
int index = BLI_findindex(&node->inputs, link->tosock);
134
137
if (index < fromindex) {
146
149
toindex = INT_MAX;
148
for (link=ntree->links.first; link; link=link->next) {
151
for (link = ntree->links.first; link; link = link->next) {
152
if (nodeLinkIsHidden(link))
149
154
if (link->fromnode == node && link->fromsock->type == datatype) {
150
155
int index = BLI_findindex(&node->outputs, link->fromsock);
151
156
if (index < toindex) {
177
182
/* if there is one input and one output link, but no reconnections by type,
178
183
* simply connect those two sockets.
180
if (num_reconnect==0 && num_links_in==1 && num_links_out==1) {
185
if ((num_reconnect == 0) && (num_links_in == 1) && (num_links_out == 1)) {
181
186
bNodeLink *ilink = MEM_callocN(sizeof(bNodeLink), "internal node link");
182
187
ilink->fromnode = node;
183
188
ilink->fromsock = fromsock_first;
188
193
BLI_addtail(&node->internal_links, ilink);
197
float node_socket_get_float(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock)
200
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
201
return RNA_float_get(&ptr, "default_value");
204
void node_socket_set_float(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock, float value)
207
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
208
RNA_float_set(&ptr, "default_value", value);
211
void node_socket_get_color(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock, float *value)
214
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
215
RNA_float_get_array(&ptr, "default_value", value);
218
void node_socket_set_color(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock, const float *value)
221
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
222
RNA_float_set_array(&ptr, "default_value", value);
225
void node_socket_get_vector(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock, float *value)
228
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
229
RNA_float_get_array(&ptr, "default_value", value);
232
void node_socket_set_vector(bNodeTree *ntree, bNode *UNUSED(node), bNodeSocket *sock, const float *value)
235
RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
236
RNA_float_set_array(&ptr, "default_value", value);