Blender V2.61 - r43446
Classes | Typedefs | Functions

node.c File Reference

#include "MEM_guardedalloc.h"
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
#include <limits.h>
#include "DNA_action_types.h"
#include "DNA_anim_types.h"
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "BLI_string.h"
#include "BLI_math.h"
#include "BLI_listbase.h"
#include "BLI_path_util.h"
#include "BLI_utildefines.h"
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_image.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_utildefines.h"
#include "RNA_access.h"
#include "NOD_socket.h"
#include "NOD_composite.h"
#include "NOD_shader.h"
#include "NOD_texture.h"

Go to the source code of this file.

Classes

struct  MakeLocalCallData

Typedefs

typedef struct MakeLocalCallData MakeLocalCallData

Functions

bNodeTreeTypentreeGetType (int type)
static bNodeTypenode_get_type (bNodeTree *ntree, int type)
bNodeTypentreeGetNodeType (bNodeTree *ntree)
bNodeSocketTypentreeGetSocketType (int type)
void ntreeInitTypes (bNodeTree *ntree)
static bNodeSocketmake_socket (bNodeTree *UNUSED(ntree), int in_out, const char *name, int type)
bNodeSocketnodeAddSocket (bNodeTree *ntree, bNode *node, int in_out, const char *name, int type)
bNodeSocketnodeInsertSocket (bNodeTree *ntree, bNode *node, int in_out, bNodeSocket *next_sock, const char *name, int type)
void nodeRemoveSocket (bNodeTree *ntree, bNode *node, bNodeSocket *sock)
void nodeRemoveAllSockets (bNodeTree *ntree, bNode *node)
bNodenodeFindNodebyName (bNodeTree *ntree, const char *name)
int nodeFindNode (bNodeTree *ntree, bNodeSocket *sock, bNode **nodep, int *sockindex, int *in_out)
static void node_add_sockets_from_type (bNodeTree *ntree, bNode *node, bNodeType *ntype)
void nodeUniqueName (bNodeTree *ntree, bNode *node)
bNodenodeAddNode (bNodeTree *ntree, struct bNodeTemplate *ntemp)
void nodeMakeDynamicType (bNode *node)
bNodenodeCopyNode (struct bNodeTree *ntree, struct bNode *node)
bNodeLinknodeAddLink (bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock, bNode *tonode, bNodeSocket *tosock)
void nodeRemLink (bNodeTree *ntree, bNodeLink *link)
void nodeRemSocketLinks (bNodeTree *ntree, bNodeSocket *sock)
void nodeSpaceCoords (bNode *node, float *locx, float *locy)
void nodeAttachNode (bNode *node, bNode *parent)
void nodeDetachNode (struct bNode *node)
bNodeTreentreeAddTree (const char *name, int type, int nodetype)
bNodeTreentreeCopyTree (bNodeTree *ntree)
void ntreeSwitchID (bNodeTree *ntree, ID *id_from, ID *id_to)
void nodeFreePreview (bNode *node)
static void node_init_preview (bNode *node, int xsize, int ysize)
void ntreeInitPreview (bNodeTree *ntree, int xsize, int ysize)
static void nodeClearPreview (bNode *node)
void ntreeClearPreview (bNodeTree *ntree)
void nodeAddToPreview (bNode *node, float *col, int x, int y, int do_manage)
void nodeUnlinkNode (bNodeTree *ntree, bNode *node)
static void node_unlink_attached (bNodeTree *ntree, bNode *parent)
void nodeFreeNode (bNodeTree *ntree, bNode *node)
void ntreeFreeTree (bNodeTree *ntree)
void ntreeFreeCache (bNodeTree *ntree)
void ntreeSetOutput (bNodeTree *ntree)
static void ntreeMakeLocal_CheckLocal (void *calldata, ID *owner_id, bNodeTree *ntree)
static void ntreeMakeLocal_LinkNew (void *calldata, ID *owner_id, bNodeTree *ntree)
void ntreeMakeLocal (bNodeTree *ntree)
int ntreeNodeExists (bNodeTree *ntree, bNode *testnode)
int ntreeOutputExists (bNode *node, bNodeSocket *testsock)
bNodeTreentreeLocalize (bNodeTree *ntree)
void ntreeLocalSync (bNodeTree *localtree, bNodeTree *ntree)
void ntreeLocalMerge (bNodeTree *localtree, bNodeTree *ntree)
int ntreeHasType (bNodeTree *ntree, int type)
bNodeLinknodeFindLink (bNodeTree *ntree, bNodeSocket *from, bNodeSocket *to)
int nodeCountSocketLinks (bNodeTree *ntree, bNodeSocket *sock)
bNodenodeGetActive (bNodeTree *ntree)
bNodenodeGetActiveID (bNodeTree *ntree, short idtype)
int nodeSetActiveID (bNodeTree *ntree, short idtype, ID *id)
void nodeClearActiveID (bNodeTree *ntree, short idtype)
void nodeSetActive (bNodeTree *ntree, bNode *node)
int nodeSocketIsHidden (bNodeSocket *sock)
static int node_get_deplist_recurs (bNode *node, bNode ***nsort)
void ntreeGetDependencyList (struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes)
static void ntree_update_link_pointers (bNodeTree *ntree)
static void ntree_validate_links (bNodeTree *ntree)
static void ntree_verify_nodes_cb (void *calldata, struct ID *UNUSED(owner_id), struct bNodeTree *ntree)
void ntreeVerifyNodes (struct Main *main, struct ID *id)
void ntreeUpdateTree (bNodeTree *ntree)
void nodeUpdate (bNodeTree *ntree, bNode *node)
int nodeUpdateID (bNodeTree *ntree, ID *id)
int nodeValid (bNodeTree *ntree, bNodeTemplate *ntemp)
const char * nodeLabel (bNode *node)
struct bNodeTreenodeGroupEditGet (struct bNode *node)
struct bNodeTreenodeGroupEditSet (struct bNode *node, int edit)
void nodeGroupEditClear (struct bNode *node)
struct bNodeTemplate nodeMakeTemplate (struct bNode *node)
void node_type_base (bNodeTreeType *ttype, bNodeType *ntype, int type, const char *name, short nclass, short flag)
void node_type_socket_templates (struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
void node_type_init (struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp))
void node_type_valid (struct bNodeType *ntype, int(*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp))
void node_type_size (struct bNodeType *ntype, int width, int minwidth, int maxwidth)
void node_type_storage (bNodeType *ntype, const char *storagename, void(*freestoragefunc)(struct bNode *), void(*copystoragefunc)(struct bNode *, struct bNode *))
void node_type_label (struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *))
void node_type_template (struct bNodeType *ntype, struct bNodeTemplate(*templatefunc)(struct bNode *))
void node_type_update (struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node), void(*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id))
void node_type_tree (struct bNodeType *ntype, void(*inittreefunc)(struct bNodeTree *), void(*updatetreefunc)(struct bNodeTree *))
void node_type_group_edit (struct bNodeType *ntype, 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 node_type_exec (struct bNodeType *ntype, void(*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **))
void node_type_exec_new (struct bNodeType *ntype, void *(*initexecfunc)(struct bNode *node), void(*freeexecfunc)(struct bNode *node, void *nodedata), void(*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **))
void node_type_mute (struct bNodeType *ntype, 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 *))
void node_type_gpu (struct bNodeType *ntype, int(*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out))
void node_type_gpu_ext (struct bNodeType *ntype, int(*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out))
void node_type_gpu_mute (struct bNodeType *ntype, int(*gpumutefunc)(struct GPUMaterial *, struct bNode *, void *, struct GPUNodeStack *, struct GPUNodeStack *))
void node_type_compatibility (struct bNodeType *ntype, short compatibility)
static bNodeTypeis_nodetype_registered (ListBase *typelist, int type)
void nodeRegisterType (bNodeTreeType *ttype, bNodeType *ntype)
static void registerCompositNodes (bNodeTreeType *ttype)
static void registerShaderNodes (bNodeTreeType *ttype)
static void registerTextureNodes (bNodeTreeType *ttype)
static void free_dynamic_typeinfo (bNodeType *ntype)
static void free_typeinfos (ListBase *list)
void init_nodesystem (void)
void free_nodesystem (void)
void clear_scene_in_nodes (Main *bmain, Scene *sce)

Detailed Description

Definition in file node.c.


Typedef Documentation


Function Documentation

void clear_scene_in_nodes ( Main bmain,
Scene sce 
)
static void free_dynamic_typeinfo ( bNodeType ntype) [static]
void free_nodesystem ( void  )

Definition at line 2035 of file node.c.

References free_typeinfos(), NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE, and ntreeGetType().

Referenced by free_blender(), and main().

static void free_typeinfos ( ListBase list) [static]
void init_nodesystem ( void  )
static bNodeType* is_nodetype_registered ( ListBase typelist,
int  type 
) [static]

Definition at line 1777 of file node.c.

References ListBase::first, bNodeType::next, NULL, and bNodeType::type.

Referenced by nodeRegisterType().

static bNodeSocket* make_socket ( bNodeTree UNUSEDntree,
int  in_out,
const char *  name,
int  type 
) [static]
static void node_add_sockets_from_type ( bNodeTree ntree,
bNode node,
bNodeType ntype 
) [static]
static int node_get_deplist_recurs ( bNode node,
bNode ***  nsort 
) [static]
static bNodeType* node_get_type ( bNodeTree ntree,
int  type 
) [static]
static void node_init_preview ( bNode node,
int  xsize,
int  ysize 
) [static]
void node_type_base ( bNodeTreeType ttype,
bNodeType ntype,
int  type,
const char *  name,
short  nclass,
short  flag 
)

Definition at line 1636 of file node.c.

References BLI_strncpy(), bNodeType::flag, FLT_MAX, bNodeTreeType::gpumutefunc, bNodeType::gpumutefunc, bNodeType::height, bNodeType::maxheight, bNodeType::maxwidth, bNodeType::minheight, bNodeType::minwidth, bNodeTreeType::mutefunc, bNodeType::mutefunc, bNodeTreeType::mutelinksfunc, bNodeType::mutelinksfunc, bNodeType::name, bNodeType::nclass, bNodeTemplate::type, bNodeType::type, and bNodeType::width.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_frame(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_dynamic(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

void node_type_compatibility ( struct bNodeType ntype,
short  compatibility 
)

Definition at line 1772 of file node.c.

References bNodeType::compatibility.

Referenced by register_node_type_frame(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_dynamic(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), and register_node_type_sh_volume_transparent().

void node_type_exec ( struct bNodeType ntype,
void(*)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **)  execfunc 
)

Definition at line 1731 of file node.c.

References bNodeType::execfunc.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

void node_type_exec_new ( struct bNodeType ntype,
void *(*)(struct bNode *node)  initexecfunc,
void(*)(struct bNode *node, void *nodedata)  freeexecfunc,
void(*)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)  newexecfunc 
)
void node_type_gpu ( struct bNodeType ntype,
int(*)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out)  gpufunc 
)

Definition at line 1756 of file node.c.

References bNodeType::gpufunc.

Referenced by register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), and register_node_type_sh_volume_transparent().

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

Definition at line 1761 of file node.c.

References bNodeType::gpuextfunc.

Referenced by register_node_type_sh_group().

void node_type_gpu_mute ( struct bNodeType ntype,
int(*)(struct GPUMaterial *, struct bNode *, void *, struct GPUNodeStack *, struct GPUNodeStack *)  gpumutefunc 
)
void node_type_group_edit ( struct bNodeType ntype,
struct bNodeTree *(*)(struct bNode *node)  group_edit_get,
struct bNodeTree *(*)(struct bNode *node, int edit)  group_edit_set,
void(*)(struct bNode *node)  group_edit_clear 
)
void node_type_init ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp)  initfunc 
)

Definition at line 1667 of file node.c.

References bNodeType::initfunc.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_distance_matte(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_movieclip(), register_node_type_cmp_normal(), register_node_type_cmp_output_file(), register_node_type_cmp_rgb(), register_node_type_cmp_rotate(), register_node_type_cmp_splitviewer(), register_node_type_cmp_tonemap(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_bricks(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_group(), register_node_type_tex_image(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

void node_type_label ( struct bNodeType ntype,
const char *(*)(struct bNode *)  labelfunc 
)
void node_type_mute ( struct bNodeType ntype,
void(*)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **)  mutefunc,
ListBase(*)(struct bNodeTree *, struct bNode *, struct bNodeStack **, struct bNodeStack **, struct GPUNodeStack *, struct GPUNodeStack *)  mutelinksfunc 
)
void node_type_size ( struct bNodeType ntype,
int  width,
int  minwidth,
int  maxwidth 
)

Definition at line 1677 of file node.c.

References FLT_MAX, bNodeType::maxwidth, bNodeType::minwidth, and bNodeType::width.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_frame(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

void node_type_socket_templates ( struct bNodeType ntype,
struct bNodeSocketTemplate inputs,
struct bNodeSocketTemplate outputs 
)

Definition at line 1661 of file node.c.

References inputs, bNodeType::inputs, outputs, and bNodeType::outputs.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

void node_type_storage ( bNodeType ntype,
const char *  storagename,
void(*)(struct bNode *)  freestoragefunc,
void(*)(struct bNode *, struct bNode *)  copystoragefunc 
)

Definition at line 1687 of file node.c.

References BLI_strncpy(), bNodeType::copystoragefunc, bNodeType::freestoragefunc, and bNodeType::storagename.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_distance_matte(), register_node_type_cmp_glare(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_image(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_output_file(), register_node_type_cmp_splitviewer(), register_node_type_cmp_tonemap(), register_node_type_cmp_valtorgb(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_holdout(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_math(), register_node_type_sh_mix_shader(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_valtorgb(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_distance(), register_node_type_tex_image(), register_node_type_tex_math(), register_node_type_tex_output(), and register_node_type_tex_valtorgb().

void node_type_template ( struct bNodeType ntype,
struct bNodeTemplate(*)(struct bNode *)  templatefunc 
)
void node_type_tree ( struct bNodeType ntype,
void(*)(struct bNodeTree *)  inittreefunc,
void(*)(struct bNodeTree *)  updatetreefunc 
)

Definition at line 1715 of file node.c.

References bNodeType::inittreefunc, and bNodeType::updatetreefunc.

void node_type_update ( struct bNodeType ntype,
void(*)(struct bNodeTree *ntree, struct bNode *node)  updatefunc,
void(*)(struct bNodeTree *ntree, struct bNode *node, struct ID *id)  verifyfunc 
)
void node_type_valid ( struct bNodeType ntype,
int(*)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp)  validfunc 
)
static void node_unlink_attached ( bNodeTree ntree,
bNode parent 
) [static]

Definition at line 844 of file node.c.

References ListBase::first, bNode::next, nodeDetachNode(), bNodeTree::nodes, and bNode::parent.

Referenced by nodeFreeNode().

bNodeLink* nodeAddLink ( bNodeTree ntree,
bNode fromnode,
bNodeSocket fromsock,
bNode tonode,
bNodeSocket tosock 
) [read]
bNode* nodeAddNode ( bNodeTree ntree,
struct bNodeTemplate ntemp 
) [read]
bNodeSocket* nodeAddSocket ( bNodeTree ntree,
bNode node,
int  in_out,
const char *  name,
int  type 
) [read]
void nodeAddToPreview ( bNode node,
float *  col,
int  x,
int  y,
int  do_manage 
)
void nodeAttachNode ( bNode node,
bNode parent 
)

Definition at line 562 of file node.c.

References bNode::locx, bNode::locy, nodeSpaceCoords(), and bNode::parent.

Referenced by node_frame_attach_nodes().

void nodeClearActiveID ( bNodeTree ntree,
short  idtype 
)

Definition at line 1293 of file node.c.

References ListBase::first, bNode::flag, GS, bNode::id, ID::name, bNode::next, NODE_ACTIVE_ID, bNodeTree::nodes, and NULL.

Referenced by ED_node_set_active().

static void nodeClearPreview ( bNode node) [static]

Definition at line 759 of file node.c.

References MEM_allocN_len(), bNode::preview, and bNodePreview::rect.

Referenced by ntreeClearPreview().

bNode* nodeCopyNode ( struct bNodeTree ntree,
struct bNode node 
) [read]
int nodeCountSocketLinks ( bNodeTree ntree,
bNodeSocket sock 
)
void nodeDetachNode ( struct bNode node)
bNodeLink* nodeFindLink ( bNodeTree ntree,
bNodeSocket from,
bNodeSocket to 
) [read]
int nodeFindNode ( bNodeTree ntree,
bNodeSocket sock,
bNode **  nodep,
int *  sockindex,
int *  in_out 
)
bNode* nodeFindNodebyName ( bNodeTree ntree,
const char *  name 
) [read]

Definition at line 252 of file node.c.

References BLI_findstring(), and bNodeTree::nodes.

Referenced by animchan_sync_fcurve(), and skip_fcurve_selected_data().

void nodeFreeNode ( bNodeTree ntree,
bNode node 
)
void nodeFreePreview ( bNode node)

Definition at line 706 of file node.c.

References MEM_freeN(), NULL, bNode::preview, and bNodePreview::rect.

Referenced by local_sync(), nodeFreeNode(), and ntreeLocalMerge().

bNode* nodeGetActive ( bNodeTree ntree) [read]
bNode* nodeGetActiveID ( bNodeTree ntree,
short  idtype 
) [read]
void nodeGroupEditClear ( struct bNode node)

Definition at line 1619 of file node.c.

References bNodeType::group_edit_clear, and bNode::typeinfo.

Referenced by node_group_edit_clear(), and snode_make_group_editable().

struct bNodeTree* nodeGroupEditGet ( struct bNode node) [read]
struct bNodeTree* nodeGroupEditSet ( struct bNode node,
int  edit 
) [read]
bNodeSocket* nodeInsertSocket ( bNodeTree ntree,
bNode node,
int  in_out,
bNodeSocket next_sock,
const char *  name,
int  type 
) [read]
const char* nodeLabel ( bNode node)
void nodeMakeDynamicType ( bNode node)
struct bNodeTemplate nodeMakeTemplate ( struct bNode node) [read]

Definition at line 1625 of file node.c.

References bNodeTemplate::type.

Referenced by node_group_valid().

void nodeRegisterType ( bNodeTreeType ttype,
bNodeType ntype 
)

Definition at line 1788 of file node.c.

References BLI_addtail(), is_nodetype_registered(), bNodeTreeType::node_types, NULL, and bNodeType::type.

Referenced by register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), register_node_type_frame(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_anisotropic(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_dynamic(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), register_node_type_sh_vect_math(), register_node_type_sh_volume_isotropic(), register_node_type_sh_volume_transparent(), register_node_type_tex_at(), register_node_type_tex_bricks(), register_node_type_tex_checker(), register_node_type_tex_compose(), register_node_type_tex_coord(), register_node_type_tex_curve_rgb(), register_node_type_tex_curve_time(), register_node_type_tex_decompose(), register_node_type_tex_distance(), register_node_type_tex_group(), register_node_type_tex_hue_sat(), register_node_type_tex_image(), register_node_type_tex_invert(), register_node_type_tex_math(), register_node_type_tex_mix_rgb(), register_node_type_tex_output(), register_node_type_tex_rgbtobw(), register_node_type_tex_rotate(), register_node_type_tex_scale(), register_node_type_tex_texture(), register_node_type_tex_translate(), register_node_type_tex_valtonor(), register_node_type_tex_valtorgb(), and register_node_type_tex_viewer().

void nodeRemLink ( bNodeTree ntree,
bNodeLink link 
)
void nodeRemoveAllSockets ( bNodeTree ntree,
bNode node 
)
void nodeRemoveSocket ( bNodeTree ntree,
bNode node,
bNodeSocket sock 
)
void nodeRemSocketLinks ( bNodeTree ntree,
bNodeSocket sock 
)
void nodeSetActive ( bNodeTree ntree,
bNode node 
)
int nodeSetActiveID ( bNodeTree ntree,
short  idtype,
ID id 
)
int nodeSocketIsHidden ( bNodeSocket sock)
void nodeSpaceCoords ( bNode node,
float *  locx,
float *  locy 
)
void nodeUniqueName ( bNodeTree ntree,
bNode node 
)

Definition at line 318 of file node.c.

References BLI_uniquename(), bNode::name, bNodeSocket::name, and bNodeTree::nodes.

Referenced by do_versions(), nodeAddNode(), and nodeCopyNode().

void nodeUnlinkNode ( bNodeTree ntree,
bNode node 
)
void nodeUpdate ( bNodeTree ntree,
bNode node 
)
int nodeUpdateID ( bNodeTree ntree,
ID id 
)
int nodeValid ( bNodeTree ntree,
bNodeTemplate ntemp 
)

Definition at line 1578 of file node.c.

References node_get_type(), bNodeTemplate::type, and bNodeType::validfunc.

Referenced by node_group_valid(), and nodeAddNode().

static void ntree_update_link_pointers ( bNodeTree ntree) [static]
static void ntree_validate_links ( bNodeTree ntree) [static]
static void ntree_verify_nodes_cb ( void *  calldata,
struct ID UNUSEDowner_id,
struct bNodeTree ntree 
) [static]

Definition at line 1447 of file node.c.

References ListBase::first, bNode::next, bNodeTree::nodes, bNode::typeinfo, and bNodeType::verifyfunc.

Referenced by ntreeVerifyNodes().

bNodeTree* ntreeAddTree ( const char *  name,
int  type,
int  nodetype 
) [read]
void ntreeClearPreview ( bNodeTree ntree)
bNodeTree* ntreeCopyTree ( bNodeTree ntree) [read]
void ntreeFreeCache ( bNodeTree ntree)
void ntreeFreeTree ( bNodeTree ntree)
void ntreeGetDependencyList ( struct bNodeTree ntree,
struct bNode ***  deplist,
int *  totnodes 
)
bNodeType* ntreeGetNodeType ( bNodeTree ntree) [read]

Definition at line 108 of file node.c.

References node_get_type(), and bNodeTree::nodetype.

bNodeSocketType* ntreeGetSocketType ( int  type) [read]
bNodeTreeType* ntreeGetType ( int  type) [read]
int ntreeHasType ( bNodeTree ntree,
int  type 
)

Definition at line 1189 of file node.c.

References ListBase::first, bNode::next, bNodeTree::nodes, and bNode::type.

Referenced by setExecutableNodes().

void ntreeInitPreview ( bNodeTree ntree,
int  xsize,
int  ysize 
)
void ntreeInitTypes ( bNodeTree ntree)
bNodeTree* ntreeLocalize ( bNodeTree ntree) [read]
void ntreeLocalMerge ( bNodeTree localtree,
bNodeTree ntree 
)
void ntreeLocalSync ( bNodeTree localtree,
bNodeTree ntree 
)

Definition at line 1154 of file node.c.

References bNodeTreeType::local_sync, ntreeGetType(), and bNodeTree::type.

Referenced by compo_updatejob(), and shader_preview_updatejob().

void ntreeMakeLocal ( bNodeTree ntree)
static void ntreeMakeLocal_CheckLocal ( void *  calldata,
ID owner_id,
bNodeTree ntree 
) [static]
static void ntreeMakeLocal_LinkNew ( void *  calldata,
ID owner_id,
bNodeTree ntree 
) [static]
int ntreeNodeExists ( bNodeTree ntree,
bNode testnode 
)

Definition at line 1082 of file node.c.

References ListBase::first, bNode::next, and bNodeTree::nodes.

Referenced by local_merge(), local_sync(), and ntreeLocalMerge().

int ntreeOutputExists ( bNode node,
bNodeSocket testsock 
)

Definition at line 1091 of file node.c.

References ListBase::first, bNodeSocket::next, and bNode::outputs.

Referenced by local_merge().

void ntreeSetOutput ( bNodeTree ntree)
void ntreeSwitchID ( bNodeTree ntree,
ID id_from,
ID id_to 
)

Definition at line 692 of file node.c.

References ListBase::first, bNode::id, bNode::next, and bNodeTree::nodes.

Referenced by copy_scene().

void ntreeUpdateTree ( bNodeTree ntree)
void ntreeVerifyNodes ( struct Main main,
struct ID id 
)
static void registerCompositNodes ( bNodeTreeType ttype) [static]

Definition at line 1797 of file node.c.

References register_node_type_cmp_alphaover(), register_node_type_cmp_bilateralblur(), register_node_type_cmp_blur(), register_node_type_cmp_brightcontrast(), register_node_type_cmp_channel_matte(), register_node_type_cmp_chroma_matte(), register_node_type_cmp_color_matte(), register_node_type_cmp_color_spill(), register_node_type_cmp_colorbalance(), register_node_type_cmp_combhsva(), register_node_type_cmp_combrgba(), register_node_type_cmp_combycca(), register_node_type_cmp_combyuva(), register_node_type_cmp_composite(), register_node_type_cmp_crop(), register_node_type_cmp_curve_rgb(), register_node_type_cmp_curve_time(), register_node_type_cmp_curve_vec(), register_node_type_cmp_dblur(), register_node_type_cmp_defocus(), register_node_type_cmp_diff_matte(), register_node_type_cmp_dilateerode(), register_node_type_cmp_displace(), register_node_type_cmp_distance_matte(), register_node_type_cmp_doubleedgemask(), register_node_type_cmp_filter(), register_node_type_cmp_flip(), register_node_type_cmp_gamma(), register_node_type_cmp_glare(), register_node_type_cmp_group(), register_node_type_cmp_hue_sat(), register_node_type_cmp_huecorrect(), register_node_type_cmp_idmask(), register_node_type_cmp_image(), register_node_type_cmp_invert(), register_node_type_cmp_lensdist(), register_node_type_cmp_luma_matte(), register_node_type_cmp_map_value(), register_node_type_cmp_mapuv(), register_node_type_cmp_math(), register_node_type_cmp_mix_rgb(), register_node_type_cmp_movieclip(), register_node_type_cmp_moviedistortion(), register_node_type_cmp_normal(), register_node_type_cmp_normalize(), register_node_type_cmp_output_file(), register_node_type_cmp_premulkey(), register_node_type_cmp_rgb(), register_node_type_cmp_rgbtobw(), register_node_type_cmp_rlayers(), register_node_type_cmp_rotate(), register_node_type_cmp_scale(), register_node_type_cmp_sephsva(), register_node_type_cmp_seprgba(), register_node_type_cmp_sepycca(), register_node_type_cmp_sepyuva(), register_node_type_cmp_setalpha(), register_node_type_cmp_splitviewer(), register_node_type_cmp_stabilize2d(), register_node_type_cmp_texture(), register_node_type_cmp_tonemap(), register_node_type_cmp_transform(), register_node_type_cmp_translate(), register_node_type_cmp_valtorgb(), register_node_type_cmp_value(), register_node_type_cmp_vecblur(), register_node_type_cmp_view_levels(), register_node_type_cmp_viewer(), register_node_type_cmp_zcombine(), and register_node_type_frame().

Referenced by init_nodesystem().

static void registerShaderNodes ( bNodeTreeType ttype) [static]

Definition at line 1882 of file node.c.

References register_node_type_frame(), register_node_type_sh_add_shader(), register_node_type_sh_attribute(), register_node_type_sh_background(), register_node_type_sh_bsdf_diffuse(), register_node_type_sh_bsdf_glass(), register_node_type_sh_bsdf_glossy(), register_node_type_sh_bsdf_translucent(), register_node_type_sh_bsdf_transparent(), register_node_type_sh_bsdf_velvet(), register_node_type_sh_camera(), register_node_type_sh_combrgb(), register_node_type_sh_curve_rgb(), register_node_type_sh_curve_vec(), register_node_type_sh_emission(), register_node_type_sh_fresnel(), register_node_type_sh_gamma(), register_node_type_sh_geom(), register_node_type_sh_geometry(), register_node_type_sh_group(), register_node_type_sh_holdout(), register_node_type_sh_hue_sat(), register_node_type_sh_invert(), register_node_type_sh_layer_weight(), register_node_type_sh_light_path(), register_node_type_sh_mapping(), register_node_type_sh_material(), register_node_type_sh_material_ext(), register_node_type_sh_math(), register_node_type_sh_mix_rgb(), register_node_type_sh_mix_shader(), register_node_type_sh_normal(), register_node_type_sh_output(), register_node_type_sh_output_lamp(), register_node_type_sh_output_material(), register_node_type_sh_output_world(), register_node_type_sh_rgb(), register_node_type_sh_rgbtobw(), register_node_type_sh_seprgb(), register_node_type_sh_squeeze(), register_node_type_sh_tex_checker(), register_node_type_sh_tex_coord(), register_node_type_sh_tex_environment(), register_node_type_sh_tex_gradient(), register_node_type_sh_tex_image(), register_node_type_sh_tex_magic(), register_node_type_sh_tex_musgrave(), register_node_type_sh_tex_noise(), register_node_type_sh_tex_sky(), register_node_type_sh_tex_voronoi(), register_node_type_sh_tex_wave(), register_node_type_sh_texture(), register_node_type_sh_valtorgb(), register_node_type_sh_value(), and register_node_type_sh_vect_math().

Referenced by init_nodesystem().

static void registerTextureNodes ( bNodeTreeType ttype) [static]