diff options
Diffstat (limited to 'source/blender/nodes/intern/node_util.h')
-rw-r--r-- | source/blender/nodes/intern/node_util.h | 68 |
1 files changed, 37 insertions, 31 deletions
diff --git a/source/blender/nodes/intern/node_util.h b/source/blender/nodes/intern/node_util.h index 9cbb21e02f7..d7da2303088 100644 --- a/source/blender/nodes/intern/node_util.h +++ b/source/blender/nodes/intern/node_util.h @@ -23,20 +23,6 @@ #pragma once -#include "DNA_listBase.h" - -#include "BLI_utildefines.h" - -#include "BKE_node.h" - -#include "MEM_guardedalloc.h" - -#include "NOD_socket.h" - -#include "GPU_material.h" /* For Shader muting GPU code... */ - -#include "RNA_access.h" - #ifdef __cplusplus extern "C" { #endif @@ -56,18 +42,18 @@ typedef struct bNodeExecData { /**** Storage Data ****/ -extern void node_free_curves(struct bNode *node); -extern void node_free_standard_storage(struct bNode *node); +void node_free_curves(struct bNode *node); +void node_free_standard_storage(struct bNode *node); -extern void node_copy_curves(struct bNodeTree *dest_ntree, - struct bNode *dest_node, - const struct bNode *src_node); -extern void node_copy_standard_storage(struct bNodeTree *dest_ntree, - struct bNode *dest_node, - const struct bNode *src_node); -extern void *node_initexec_curves(struct bNodeExecContext *context, - struct bNode *node, - bNodeInstanceKey key); +void node_copy_curves(struct bNodeTree *dest_ntree, + struct bNode *dest_node, + const struct bNode *src_node); +void node_copy_standard_storage(struct bNodeTree *dest_ntree, + struct bNode *dest_node, + const struct bNode *src_node); +void *node_initexec_curves(struct bNodeExecContext *context, + struct bNode *node, + bNodeInstanceKey key); /**** Updates ****/ void node_sock_label(struct bNodeSocket *sock, const char *name); @@ -75,15 +61,35 @@ void node_sock_label_clear(struct bNodeSocket *sock); void node_math_update(struct bNodeTree *ntree, struct bNode *node); /**** Labels ****/ -void node_blend_label(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); -void node_image_label(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); -void node_math_label(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); -void node_vector_math_label(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); -void node_filter_label(struct bNodeTree *ntree, struct bNode *node, char *label, int maxlen); +void node_blend_label(const struct bNodeTree *ntree, + const struct bNode *node, + char *label, + int maxlen); +void node_image_label(const struct bNodeTree *ntree, + const struct bNode *node, + char *label, + int maxlen); +void node_math_label(const struct bNodeTree *ntree, + const struct bNode *node, + char *label, + int maxlen); +void node_vector_math_label(const struct bNodeTree *ntree, + const struct bNode *node, + char *label, + int maxlen); +void node_filter_label(const struct bNodeTree *ntree, + const struct bNode *node, + char *label, + int maxlen); /*** Link Handling */ + +/** + * The idea behind this is: When a user connects an input to a socket that is + * already linked (and if its not an Multi Input Socket), we try to find a replacement socket for + * the link that we try to overwrite and connect that previous link to the new socket. + */ void node_insert_link_default(struct bNodeTree *ntree, struct bNode *node, struct bNodeLink *link); -void node_update_internal_links_default(struct bNodeTree *ntree, struct bNode *node); float node_socket_get_float(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock); void node_socket_set_float(struct bNodeTree *ntree, |