Blender  V3.3
ED_node.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2009 Blender Foundation. All rights reserved. */
3 
8 #pragma once
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 struct ID;
15 struct Main;
16 struct Scene;
17 struct ScrArea;
18 struct SpaceNode;
19 struct Tex;
20 struct View2D;
21 struct bContext;
22 struct bNode;
23 struct bNodeSocket;
24 struct bNodeSocketType;
25 struct bNodeTree;
26 struct bNodeTreeType;
27 struct bNodeType;
28 
29 typedef enum {
30  NODE_TOP = 1,
32  NODE_LEFT = 4,
34 } NodeBorder;
35 
36 #define NODE_GRID_STEP_SIZE U.widget_unit /* Based on the grid nodes snap to. */
37 #define NODE_EDGE_PAN_INSIDE_PAD 2
38 #define NODE_EDGE_PAN_OUTSIDE_PAD 0 /* Disable clamping for node panning, use whole screen. */
39 #define NODE_EDGE_PAN_SPEED_RAMP 1
40 #define NODE_EDGE_PAN_MAX_SPEED 26 /* In UI units per second, slower than default. */
41 #define NODE_EDGE_PAN_DELAY 0.5f
42 #define NODE_EDGE_PAN_ZOOM_INFLUENCE 0.5f
43 
44 /* space_node.cc */
45 
46 void ED_node_cursor_location_get(const struct SpaceNode *snode, float value[2]);
47 void ED_node_cursor_location_set(struct SpaceNode *snode, const float value[2]);
48 
49 int ED_node_tree_path_length(struct SpaceNode *snode);
50 void ED_node_tree_path_get(struct SpaceNode *snode, char *value);
51 
52 void ED_node_tree_start(struct SpaceNode *snode,
53  struct bNodeTree *ntree,
54  struct ID *id,
55  struct ID *from);
56 void ED_node_tree_push(struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *gnode);
57 void ED_node_tree_pop(struct SpaceNode *snode);
58 int ED_node_tree_depth(struct SpaceNode *snode);
59 struct bNodeTree *ED_node_tree_get(struct SpaceNode *snode, int level);
60 
61 void ED_node_set_active_viewer_key(struct SpaceNode *snode);
62 
63 /* drawnode.cc */
64 
65 void ED_node_init_butfuncs(void);
66 void ED_init_custom_node_type(struct bNodeType *ntype);
70 void ED_node_sample_set(const float col[4]);
72  struct View2D *v2d, const float cent[2], float size, NodeBorder border, unsigned int pos);
73 
74 /* node_draw.cc */
75 
81 void ED_node_socket_draw(struct bNodeSocket *sock,
82  const struct rcti *rect,
83  const float color[4],
84  float scale);
85 void ED_node_tree_update(const struct bContext *C);
86 void ED_node_tag_update_id(struct ID *id);
87 
88 float ED_node_grid_size(void);
89 
90 /* node_relationships.cc */
91 
95 void ED_node_link_intersect_test(struct ScrArea *area, int test);
99 void ED_node_link_insert(struct Main *bmain, struct ScrArea *area);
100 
101 /* node_edit.cc */
102 
103 void ED_node_set_tree_type(struct SpaceNode *snode, struct bNodeTreeType *typeinfo);
104 bool ED_node_is_compositor(struct SpaceNode *snode);
105 bool ED_node_is_shader(struct SpaceNode *snode);
106 bool ED_node_is_texture(struct SpaceNode *snode);
107 bool ED_node_is_geometry(struct SpaceNode *snode);
108 
113 void ED_node_shader_default(const struct bContext *C, struct ID *id);
118 void ED_node_composit_default(const struct bContext *C, struct Scene *scene);
123 void ED_node_texture_default(const struct bContext *C, struct Tex *tex);
125 void ED_node_set_active(struct Main *bmain,
126  struct SpaceNode *snode,
127  struct bNodeTree *ntree,
128  struct bNode *node,
129  bool *r_active_texture_changed);
130 
148  struct Main *bmain,
149  struct bNodeTree *ntree);
150 
158 void ED_node_composite_job(const struct bContext *C,
159  struct bNodeTree *nodetree,
160  struct Scene *scene_owner);
161 
162 /* node_ops.cc */
163 
164 void ED_operatormacros_node(void);
165 
166 /* node_view.cc */
167 
171 bool ED_space_node_get_position(struct Main *bmain,
172  struct SpaceNode *snode,
173  struct ARegion *region,
174  const int mval[2],
175  float fpos[2]);
180 bool ED_space_node_color_sample(struct Main *bmain,
181  struct SpaceNode *snode,
182  struct ARegion *region,
183  const int mval[2],
184  float r_col[3]);
185 
186 #ifdef __cplusplus
187 }
188 #endif
void ED_node_tree_update(const struct bContext *C)
void ED_node_draw_snap(struct View2D *v2d, const float cent[2], float size, NodeBorder border, unsigned int pos)
Definition: drawnode.cc:2177
bool ED_node_is_compositor(struct SpaceNode *snode)
Definition: node_edit.cc:466
void ED_node_sample_set(const float col[4])
Definition: drawnode.cc:154
void ED_node_link_insert(struct Main *bmain, struct ScrArea *area)
void ED_node_tree_start(struct SpaceNode *snode, struct bNodeTree *ntree, struct ID *id, struct ID *from)
Definition: space_node.cc:44
void ED_node_set_tree_type(struct SpaceNode *snode, struct bNodeTreeType *typeinfo)
Definition: node_edit.cc:456
bool ED_node_is_texture(struct SpaceNode *snode)
Definition: node_edit.cc:476
float ED_node_grid_size(void)
Definition: node_draw.cc:87
bool ED_space_node_color_sample(struct Main *bmain, struct SpaceNode *snode, struct ARegion *region, const int mval[2], float r_col[3])
Definition: node_view.cc:476
void ED_node_tree_push(struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *gnode)
Definition: space_node.cc:83
void ED_init_standard_node_socket_type(struct bNodeSocketType *stype)
Definition: drawnode.cc:1481
int ED_node_tree_path_length(struct SpaceNode *snode)
Definition: space_node.cc:157
void ED_init_node_socket_type_virtual(struct bNodeSocketType *stype)
Definition: drawnode.cc:1490
void ED_node_post_apply_transform(struct bContext *C, struct bNodeTree *ntree)
void ED_node_shader_default(const struct bContext *C, struct ID *id)
void ED_node_tag_update_id(struct ID *id)
Definition: node_draw.cc:117
bool ED_node_is_geometry(struct SpaceNode *snode)
Definition: node_edit.cc:481
void ED_init_custom_node_socket_type(struct bNodeSocketType *stype)
Definition: drawnode.cc:1179
void ED_operatormacros_node(void)
Definition: node_ops.cc:125
void ED_node_cursor_location_set(struct SpaceNode *snode, const float value[2])
Definition: space_node.cc:200
bool ED_node_is_shader(struct SpaceNode *snode)
Definition: node_edit.cc:471
void ED_node_composit_default(const struct bContext *C, struct Scene *scene)
void ED_node_tree_path_get(struct SpaceNode *snode, char *value)
Definition: space_node.cc:170
void ED_node_cursor_location_get(const struct SpaceNode *snode, float value[2])
void ED_node_texture_default(const struct bContext *C, struct Tex *tex)
int ED_node_tree_depth(struct SpaceNode *snode)
Definition: space_node.cc:140
void ED_node_composite_job(const struct bContext *C, struct bNodeTree *nodetree, struct Scene *scene_owner)
struct bNodeTree * ED_node_tree_get(struct SpaceNode *snode, int level)
Definition: space_node.cc:145
void ED_node_link_intersect_test(struct ScrArea *area, int test)
void ED_node_set_active(struct Main *bmain, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node, bool *r_active_texture_changed)
Definition: node_edit.cc:659
bool ED_space_node_get_position(struct Main *bmain, struct SpaceNode *snode, struct ARegion *region, const int mval[2], float fpos[2])
Definition: node_view.cc:449
NodeBorder
Definition: ED_node.h:29
@ NODE_LEFT
Definition: ED_node.h:32
@ NODE_RIGHT
Definition: ED_node.h:33
@ NODE_BOTTOM
Definition: ED_node.h:31
@ NODE_TOP
Definition: ED_node.h:30
void ED_init_custom_node_type(struct bNodeType *ntype)
void ED_node_init_butfuncs(void)
Definition: drawnode.cc:1145
void ED_node_socket_draw(struct bNodeSocket *sock, const struct rcti *rect, const float color[4], float scale)
void ED_node_tree_propagate_change(const struct bContext *C, struct Main *bmain, struct bNodeTree *ntree)
void ED_node_tree_pop(struct SpaceNode *snode)
Definition: space_node.cc:118
void ED_node_set_active_viewer_key(struct SpaceNode *snode)
Definition: space_node.cc:187
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
#define C
Definition: RandGen.cpp:25
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
OperationNode * node
StackEntry * from
Scene scene
bNodeTree * ntree
uint pos
uint col
IconTextureDrawCall border
static void area(int d1, int d2, int e1, int e2, float weights[2])
Definition: DNA_ID.h:368
Definition: BKE_main.h:121
Defines a socket type.
Definition: BKE_node.h:143
struct bNodeTreeType * typeinfo
Defines a node type.
Definition: BKE_node.h:226