Blender V5.0
blender::ed::space_node::TreeDrawContext Struct Reference

Public Member Functions

 ~TreeDrawContext ()

Public Attributes

Mainbmain
wmWindowwindow
Scenescene
ARegionregion
Depsgraph * depsgraph
const bNodeactive_geometry_nodes_viewer = nullptr
geo_log::ContextualGeoTreeLogs tree_logs
NestedTreePreviewsnested_group_infos = nullptr
Map< bNodeInstanceKey, timeit::Nanoseconds > * compositor_per_node_execution_time = nullptr
Map< const bNode *, StringRefreroute_auto_labels
Map< const bNode *, const bNode * > menu_switch_source_by_index_switch
Array< Vector< NodeExtraInfoRow > > extra_info_rows_per_node
Map< int32_t, VectorSet< std::string > > shader_node_errors

Detailed Description

This is passed to many functions which draw the node editor.

Definition at line 123 of file node_draw.cc.

Constructor & Destructor Documentation

◆ ~TreeDrawContext()

blender::ed::space_node::TreeDrawContext::~TreeDrawContext ( )
inline

Definition at line 168 of file node_draw.cc.

References BLI_assert.

Member Data Documentation

◆ active_geometry_nodes_viewer

const bNode* blender::ed::space_node::TreeDrawContext::active_geometry_nodes_viewer = nullptr

Whether a viewer node is active in geometry nodes can not be determined by a flag on the node alone. That's because if the node group with the viewer is used multiple times, it's only active in one of these cases. The active node is cached here to avoid doing the more expensive check for every viewer node in the tree.

Definition at line 137 of file node_draw.cc.

Referenced by blender::ed::space_node::draw_nodetree(), blender::ed::space_node::node_draw_basis(), and blender::ed::space_node::node_get_colorid().

◆ bmain

◆ compositor_per_node_execution_time

◆ depsgraph

◆ extra_info_rows_per_node

Array<Vector<NodeExtraInfoRow> > blender::ed::space_node::TreeDrawContext::extra_info_rows_per_node

Precomputed extra info rows for each node. This avoids having to compute them multiple times during drawing. The array is indexed by bNode::index().

Definition at line 164 of file node_draw.cc.

Referenced by blender::ed::space_node::calc_node_frame_dimensions(), blender::ed::space_node::draw_nodetree(), and blender::ed::space_node::node_draw_extra_info_panel().

◆ menu_switch_source_by_index_switch

Map<const bNode *, const bNode *> blender::ed::space_node::TreeDrawContext::menu_switch_source_by_index_switch

Index Switch nodes can draw labels retrieved from a connected menu switch node. The corresponding node pairs are preprocessed to avoid the overhead of having to detect them while drawing individual sockets.

Definition at line 158 of file node_draw.cc.

Referenced by blender::ed::space_node::draw_nodetree(), and blender::ed::space_node::draw_socket_layout().

◆ nested_group_infos

NestedTreePreviews* blender::ed::space_node::TreeDrawContext::nested_group_infos = nullptr

◆ region

◆ reroute_auto_labels

Map<const bNode *, StringRef> blender::ed::space_node::TreeDrawContext::reroute_auto_labels

Label for reroute nodes that is derived from upstream reroute nodes.

Definition at line 151 of file node_draw.cc.

Referenced by blender::ed::space_node::reroute_node_get_auto_label().

◆ scene

◆ shader_node_errors

Map<int32_t, VectorSet<std::string> > blender::ed::space_node::TreeDrawContext::shader_node_errors

◆ tree_logs

geo_log::ContextualGeoTreeLogs blender::ed::space_node::TreeDrawContext::tree_logs

Geometry nodes logs various data during execution. The logged data that corresponds to the currently drawn node tree can be retrieved from the log below.

Definition at line 142 of file node_draw.cc.

Referenced by blender::ed::space_node::draw_nodetree(), blender::ed::space_node::geo_node_get_execution_time(), blender::ed::space_node::node_add_error_message_button(), blender::ed::space_node::node_get_accessed_attributes_row(), and blender::ed::space_node::node_get_extra_info().

◆ window


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