Blender V2.61 - r43446
Public Attributes

bNodeType Struct Reference

#include <BKE_node.h>

List of all members.

Public Attributes

void * next
void * prev
short needs_free
int type
char name [64]
float width
float minwidth
float maxwidth
float height
float minheight
float maxheight
short nclass
short flag
short compatibility
bNodeSocketTemplateinputs
bNodeSocketTemplateoutputs
char storagename [64]
void(* drawfunc )(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node)
 Main draw function for the node.
void(* drawupdatefunc )(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node)
 Updates the node geometry attributes according to internal state before actual drawing.
void(* uifunc )(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
 Draw the option buttons on the node.
void(* uifuncbut )(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
 Additional parameters in the side panel.
const char *(* labelfunc )(struct bNode *)
 Optional custom label function for the node header.
int(* resize_area_func )(struct bNode *node, int x, int y)
 Optional custom resize handle polling.
void(* updatefunc )(struct bNodeTree *ntree, struct bNode *node)
 Called when the node is updated in the editor.
void(* verifyfunc )(struct bNodeTree *ntree, struct bNode *node, struct ID *id)
 Check and update if internal ID data has changed.
void(* initfunc )(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp)
 Initialize a new node instance of this type after creation.
void(* freestoragefunc )(struct bNode *node)
 Free the custom storage data.
void(* copystoragefunc )(struct bNode *node, struct bNode *target)
 Make a copy of the custom storage data.
struct bNodeTemplate(* templatefunc )(struct bNode *)
 Create a template from an existing node.
int(* validfunc )(struct bNodeTree *ntree, struct bNodeTemplate *ntemp)
void(* inittreefunc )(struct bNodeTree *ntree)
 Initialize a node tree associated to this node type.
void(* updatetreefunc )(struct bNodeTree *ntree)
 Update a node tree associated to this node type.
struct bNodeTree *(* group_edit_get )(struct bNode *node)
struct bNodeTree *(* group_edit_set )(struct bNode *node, int edit)
void(* group_edit_clear )(struct bNode *node)
void *(* initexecfunc )(struct bNode *node)
void(* freeexecfunc )(struct bNode *node, void *nodedata)
void(* execfunc )(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **)
void(* newexecfunc )(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)
void(* mutefunc )(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)
ListBase(* mutelinksfunc )(struct bNodeTree *, struct bNode *, struct bNodeStack **, struct bNodeStack **, struct GPUNodeStack *, struct GPUNodeStack *)
int(* gpufunc )(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out)
int(* gpuextfunc )(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out)
int(* gpumutefunc )(struct GPUMaterial *, struct bNode *, void *, struct GPUNodeStack *, struct GPUNodeStack *)

Detailed Description

Defines a node type. Initial attributes and constants for a node as well as callback functions implementing the node behavior.

Definition at line 123 of file BKE_node.h.


Member Data Documentation

Definition at line 131 of file BKE_node.h.

Referenced by node_add_menu(), node_type_compatibility(), and ui_node_menu_column().

void(* bNodeType::copystoragefunc)(struct bNode *node, struct bNode *target)

Make a copy of the custom storage data.

Definition at line 161 of file BKE_node.h.

Referenced by node_type_storage(), and nodeCopyNode().

void(* bNodeType::drawfunc)(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node)

Main draw function for the node.

Definition at line 139 of file BKE_node.h.

Referenced by ED_init_node_butfuncs(), node_common_set_butfunc(), and node_draw().

void(* bNodeType::drawupdatefunc)(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node)

Updates the node geometry attributes according to internal state before actual drawing.

Definition at line 141 of file BKE_node.h.

Referenced by ED_init_node_butfuncs(), node_common_set_butfunc(), and node_update().

void(* bNodeType::execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **)
void(* bNodeType::freeexecfunc)(struct bNode *node, void *nodedata)

Definition at line 184 of file BKE_node.h.

Referenced by node_type_exec_new(), and ntree_exec_end().

void(* bNodeType::freestoragefunc)(struct bNode *node)

Free the custom storage data.

Definition at line 159 of file BKE_node.h.

Referenced by node_type_storage(), and nodeFreeNode().

int(* bNodeType::gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out)

Definition at line 203 of file BKE_node.h.

Referenced by node_type_gpu_ext(), and ntreeExecGPUNodes().

int(* bNodeType::gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out)

Definition at line 201 of file BKE_node.h.

Referenced by node_type_gpu(), and ntreeExecGPUNodes().

int(* bNodeType::gpumutefunc)(struct GPUMaterial *, struct bNode *, void *, struct GPUNodeStack *, struct GPUNodeStack *)

Definition at line 207 of file BKE_node.h.

Referenced by node_type_base(), node_type_gpu_mute(), and ntreeExecGPUNodes().

void(* bNodeType::group_edit_clear)(struct bNode *node)

Definition at line 179 of file BKE_node.h.

Referenced by node_type_group_edit(), and nodeGroupEditClear().

struct bNodeTree*(* bNodeType::group_edit_get)(struct bNode *node) [read]

Definition at line 177 of file BKE_node.h.

Referenced by node_type_group_edit(), nodeGroupEditGet(), and nodeGroupEditSet().

struct bNodeTree*(* bNodeType::group_edit_set)(struct bNode *node, int edit) [read]

Definition at line 178 of file BKE_node.h.

Referenced by node_type_group_edit(), and nodeGroupEditSet().

Definition at line 130 of file BKE_node.h.

Referenced by node_type_base(), and nodeAddNode().

void*(* bNodeType::initexecfunc)(struct bNode *node)

Definition at line 183 of file BKE_node.h.

Referenced by node_type_exec_new(), and ntree_exec_begin().

void(* bNodeType::initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp)

Initialize a new node instance of this type after creation.

Definition at line 157 of file BKE_node.h.

Referenced by node_type_init(), and nodeAddNode().

void(* bNodeType::inittreefunc)(struct bNodeTree *ntree)

Initialize a node tree associated to this node type.

Definition at line 171 of file BKE_node.h.

Referenced by node_type_tree(), and ntreeAddTree().

const char*(* bNodeType::labelfunc)(struct bNode *)

Optional custom label function for the node header.

Definition at line 147 of file BKE_node.h.

Referenced by node_type_label(), and nodeLabel().

Definition at line 130 of file BKE_node.h.

Referenced by node_resize_modal(), and node_type_base().

Definition at line 129 of file BKE_node.h.

Referenced by node_resize_modal(), node_type_base(), and node_type_size().

Definition at line 130 of file BKE_node.h.

Referenced by node_resize_modal(), and node_type_base().

Definition at line 129 of file BKE_node.h.

Referenced by node_resize_modal(), node_type_base(), and node_type_size().

void(* bNodeType::mutefunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)
ListBase(* bNodeType::mutelinksfunc)(struct bNodeTree *, struct bNode *, struct bNodeStack **, struct bNodeStack **, struct GPUNodeStack *, struct GPUNodeStack *)
char bNodeType::name[64]

Definition at line 125 of file BKE_node.h.

Referenced by free_typeinfos(), and register_node_type_frame().

void(* bNodeType::newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)

Definition at line 124 of file BKE_node.h.

int(* bNodeType::resize_area_func)(struct bNode *node, int x, int y)

Optional custom resize handle polling.

Definition at line 149 of file BKE_node.h.

Referenced by ED_init_node_butfuncs(), and node_resize_invoke().

Definition at line 136 of file BKE_node.h.

Referenced by node_type_storage(), and write_nodetree().

struct bNodeTemplate(* bNodeType::templatefunc)(struct bNode *) [read]

Create a template from an existing node.

Definition at line 164 of file BKE_node.h.

Referenced by node_type_template().

void(* bNodeType::uifunc)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)
void(* bNodeType::uifuncbut)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)

Additional parameters in the side panel.

Definition at line 145 of file BKE_node.h.

Referenced by ED_init_node_butfuncs(), node_composit_set_butfunc(), node_shader_set_butfunc(), and node_texture_set_butfunc().

void(* bNodeType::updatefunc)(struct bNodeTree *ntree, struct bNode *node)

Called when the node is updated in the editor.

Definition at line 152 of file BKE_node.h.

Referenced by node_type_update(), nodeUpdate(), nodeUpdateID(), ntreeUpdateTree(), and update_node().

void(* bNodeType::updatetreefunc)(struct bNodeTree *ntree)

Update a node tree associated to this node type.

Definition at line 173 of file BKE_node.h.

Referenced by node_type_tree(), and ntreeUpdateTree().

int(* bNodeType::validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp)

Definition at line 168 of file BKE_node.h.

Referenced by node_type_valid(), and nodeValid().

void(* bNodeType::verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id)

Check and update if internal ID data has changed.

Definition at line 154 of file BKE_node.h.

Referenced by node_type_update(), and ntree_verify_nodes_cb().

Definition at line 129 of file BKE_node.h.

Referenced by node_socket_add_replace(), node_type_base(), node_type_size(), and nodeAddNode().


The documentation for this struct was generated from the following file: