132#define HIDDEN_RAD (0.75f * U.widget_unit)
133#define BASIS_RAD (0.2f * U.widget_unit)
134#define NODE_DYS (U.widget_unit / 2)
135#define NODE_DY U.widget_unit
136#define NODE_ITEM_SPACING_Y (0.1f * U.widget_unit)
137#define NODE_WIDTH(node) (node.width * UI_SCALE_FAC)
138#define NODE_HEIGHT(node) (node.height * UI_SCALE_FAC)
139#define NODE_MARGIN_X (1.2f * U.widget_unit)
140#define NODE_SOCKSIZE (0.25f * U.widget_unit)
141#define NODE_SOCKSIZE_DRAW_MULIPLIER 2.25f
142#define NODE_SOCK_OUTLINE_SCALE 1.0f
143#define NODE_MULTI_INPUT_LINK_GAP (0.25f * U.widget_unit)
144#define NODE_RESIZE_MARGIN (0.20f * U.widget_unit)
145#define NODE_LINK_RESOL 12
272 std::array<float2, NODE_LINK_RESOL + 1> &coords);
#define ENUM_OPERATORS(_type, _max)
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Map
void NODE_OT_parent_set(wmOperatorType *ot)
void NODE_OT_delete(wmOperatorType *ot)
void NODE_OT_cryptomatte_layer_add(wmOperatorType *ot)
void NODE_OT_add_object(wmOperatorType *ot)
float node_socket_calculate_height(const bNodeSocket &socket)
void NODE_OT_read_viewlayers(wmOperatorType *ot)
rctf node_frame_rect_inside(const SpaceNode &snode, const bNode &node)
void NODE_OT_clipboard_copy(wmOperatorType *ot)
void node_deselect_all_input_sockets(bNodeTree &node_tree, bool deselect_nodes)
int node_get_resize_cursor(NodeResizeDirection directions)
void nodelink_batch_start(SpaceNode &)
void NODE_OT_select_circle(wmOperatorType *ot)
void tree_draw_order_update(bNodeTree &ntree)
void NODE_OT_add_mask(wmOperatorType *ot)
bool space_node_view_flag(bContext &C, SpaceNode &snode, ARegion ®ion, int node_flag, int smooth_viewtx)
bNode * add_static_node(const bContext &C, int type, const float2 &location)
void NODE_OT_backimage_sample(wmOperatorType *ot)
void invoke_node_link_drag_add_menu(bContext &C, bNode &node, bNodeSocket &socket, const float2 &cursor)
void NODE_OT_add_reroute(wmOperatorType *ot)
void NODE_OT_node_copy_color(wmOperatorType *ot)
void node_draw_link_bezier(const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link, const int th_col1, const int th_col2, const int th_col3, const bool selected)
void NODE_OT_detach(wmOperatorType *ot)
bool composite_node_editable(bContext *C)
MenuType add_catalog_assets_menu_type()
void NODE_OT_viewer_border(wmOperatorType *ot)
void node_select_paired(bNodeTree &node_tree)
bool all_links_muted(const bNodeSocket &socket)
void nodelink_batch_end(SpaceNode &snode)
void NODE_OT_find_node(wmOperatorType *ot)
void NODE_OT_select_lasso(wmOperatorType *ot)
bool node_deselect_all(bNodeTree &node_tree)
void NODE_OT_add_collection(wmOperatorType *ot)
void node_socket_select(bNode *node, bNodeSocket &sock)
MenuType add_unassigned_assets_menu_type()
std::array< float2, 4 > node_link_bezier_points_dragged(const SpaceNode &snode, const bNodeLink &link)
bNodeSocket * node_find_indicated_socket(SpaceNode &snode, ARegion ®ion, const float2 &cursor, const eNodeSocketInOut in_out)
void NODE_OT_backimage_zoom(wmOperatorType *ot)
int node_render_changed_exec(bContext *C, wmOperator *)
void NODE_OT_select(wmOperatorType *ot)
void node_socket_color_get(const bContext &C, const bNodeTree &ntree, PointerRNA &node_ptr, const bNodeSocket &sock, float r_color[4])
void NODE_OT_insert_offset(wmOperatorType *ot)
bNode * add_node(const bContext &C, const StringRef idname, const float2 &location)
Array< bNode * > tree_draw_order_calc_nodes_reversed(bNodeTree &ntree)
void NODE_OT_group_make(wmOperatorType *ot)
void NODE_OT_deactivate_viewer(wmOperatorType *ot)
void node_set_cursor(wmWindow &win, ARegion ®ion, SpaceNode &snode, const float2 &cursor)
void node_draw_link(const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link, const bool selected)
void NODE_OT_add_group_asset(wmOperatorType *ot)
float2 node_link_calculate_multi_input_position(const float2 &socket_position, const int index, const int total_inputs)
void NODE_OT_resize(wmOperatorType *ot)
void NODE_OT_backimage_move(wmOperatorType *ot)
void NODE_OT_clipboard_paste(wmOperatorType *ot)
void NODE_OT_render_changed(wmOperatorType *ot)
void NODE_OT_links_detach(wmOperatorType *ot)
void node_draw_link_dragged(const bContext &C, const View2D &v2d, const SpaceNode &snode, const bNodeLink &link)
void NODE_OT_group_insert(wmOperatorType *ot)
void node_socket_deselect(bNode *node, bNodeSocket &sock, bool deselect_node)
void NODE_OT_delete_reconnect(wmOperatorType *ot)
void NODE_OT_shader_script_update(wmOperatorType *ot)
void NODE_GGT_backdrop_corner_pin(wmGizmoGroupType *gzgt)
void NODE_OT_links_cut(wmOperatorType *ot)
void NODE_OT_hide_socket_toggle(wmOperatorType *ot)
MenuType add_root_catalogs_menu_type()
void node_set_hidden_sockets(bNode *node, int set)
bool node_is_previewable(const SpaceNode &snode, const bNodeTree &ntree, const bNode &node)
void NODE_OT_select_grouped(wmOperatorType *ot)
void draw_nodespace_back_pix(const bContext &C, ARegion ®ion, SpaceNode &snode, bNodeInstanceKey parent_key)
void remap_node_pairing(bNodeTree &dst_tree, const Map< const bNode *, bNode * > &node_map)
float node_link_dim_factor(const View2D &v2d, const bNodeLink &link)
void NODE_OT_output_file_remove_active_socket(wmOperatorType *ot)
void NODE_OT_join(wmOperatorType *ot)
const char * node_socket_get_label(const bNodeSocket *socket, const char *panel_label)
void NODE_OT_attach(wmOperatorType *ot)
bool node_link_is_hidden_or_dimmed(const View2D &v2d, const bNodeLink &link)
void NODE_OT_view_selected(wmOperatorType *ot)
std::optional< float2 > link_path_intersection(const bNodeLink &link, const Span< float2 > path)
void NODE_OT_link_viewer(wmOperatorType *ot)
void NODE_GGT_backdrop_crop(wmGizmoGroupType *gzgt)
void NODE_OT_select_linked_from(wmOperatorType *ot)
void node_deselect_all_output_sockets(bNodeTree &node_tree, bool deselect_nodes)
Array< bNode * > tree_draw_order_calc_nodes(bNodeTree &ntree)
const char * node_group_idname(bContext *C)
Vector< ui::ContextPathItem > context_path_for_space_node(const bContext &C)
void NODE_OT_select_same_type_step(wmOperatorType *ot)
void node_select_single(bContext &C, bNode &node)
float2 space_node_group_offset(const SpaceNode &snode)
void NODE_OT_preview_toggle(wmOperatorType *ot)
void NODE_OT_clear_viewer_border(wmOperatorType *ot)
void NODE_OT_select_linked_to(wmOperatorType *ot)
void NODE_OT_link_make(wmOperatorType *ot)
void node_link_bezier_points_evaluated(const bNodeLink &link, std::array< float2, NODE_LINK_RESOL+1 > &coords)
void NODE_OT_view_all(wmOperatorType *ot)
wmKeyMap * node_link_modal_keymap(wmKeyConfig *keyconf)
void NODE_OT_group_edit(wmOperatorType *ot)
bool node_or_socket_isect_event(const bContext &C, const wmEvent &event)
void node_operatortypes()
void NODE_GGT_backdrop_transform(wmGizmoGroupType *gzgt)
void NODE_OT_group_separate(wmOperatorType *ot)
float2 node_to_view(const bNode &node, const float2 &co)
void NODE_OT_duplicate(wmOperatorType *ot)
NodeResizeDirection node_get_resize_direction(const SpaceNode &snode, const bNode *node, const int x, const int y)
void node_geometry_add_attribute_search_button(const bContext &, const bNode &node, PointerRNA &socket_ptr, uiLayout &layout, const StringRefNull placeholder)
bool node_has_hidden_sockets(bNode *node)
void NODE_GGT_backdrop_sun_beams(wmGizmoGroupType *gzgt)
void NODE_OT_output_file_add_socket(wmOperatorType *ot)
void NODE_OT_options_toggle(wmOperatorType *ot)
void node_keymap(wmKeyConfig *keyconf)
void NODE_OT_add_group(wmOperatorType *ot)
void NODE_OT_add_file(wmOperatorType *ot)
void node_to_updated_rect(const bNode &node, rctf &r_rect)
bool composite_node_active(bContext *C)
void node_draw_space(const bContext &C, ARegion ®ion)
void NODE_OT_link(wmOperatorType *ot)
void NODE_OT_links_mute(wmOperatorType *ot)
void NODE_OT_default_group_width_set(wmOperatorType *ot)
void NODE_OT_hide_toggle(wmOperatorType *ot)
void NODE_OT_add_material(wmOperatorType *ot)
void NODE_OT_select_box(wmOperatorType *ot)
void NODE_OT_select_all(wmOperatorType *ot)
bNodeSocket * get_main_socket(bNodeTree &ntree, bNode &node, eNodeSocketInOut in_out)
void node_socket_add_tooltip(const bNodeTree &ntree, const bNodeSocket &sock, uiLayout &layout)
void NODE_OT_group_ungroup(wmOperatorType *ot)
void NODE_OT_new_node_tree(wmOperatorType *ot)
void update_multi_input_indices_for_removed_links(bNode &node)
float2 node_from_view(const bNode &node, const float2 &co)
void NODE_OT_cryptomatte_layer_remove(wmOperatorType *ot)
void NODE_OT_backimage_fit(wmOperatorType *ot)
void NODE_OT_output_file_move_active_socket(wmOperatorType *ot)
void NODE_OT_mute_toggle(wmOperatorType *ot)
VecBase< float, 2 > float2
const char * node_context_dir[]
bool recalc_regular_compositing
std::unique_ptr< bNodeLinkDrag > linkdrag
NodeInsertOfsData * iofsd
Map< ComputeContextHash, std::unique_ptr< space_node::NestedTreePreviews > > tree_previews_per_context
std::shared_ptr< asset::AssetItemTree > assets_for_menu
Vector< bNodeLink > links
View2DEdgePanData pan_data
bNodeSocket * hovered_socket
bNodeLink * last_picked_multi_input_socket_link
bNode * last_node_hovered_while_dragging_a_link
std::array< int, 2 > cursor
bNodeSocket * start_socket