Blender V4.3
blender::bke::node_tree_runtime Namespace Reference

Classes

class  AllowUsingOutdatedInfo
 
struct  ToposortNodeState
 

Enumerations

enum class  ToposortDirection { LeftToRight , RightToLeft }
 

Functions

void preprocess_geometry_node_tree_for_evaluation (bNodeTree &tree_cow)
 
bool topology_cache_is_available (const bNodeTree &tree)
 
bool topology_cache_is_available (const bNode &node)
 
bool topology_cache_is_available (const bNodeSocket &socket)
 
static void update_node_vector (const bNodeTree &ntree)
 
static void update_link_vector (const bNodeTree &ntree)
 
static void update_socket_vectors_and_owner_node (const bNodeTree &ntree)
 
static void update_panels (const bNodeTree &ntree)
 
static void update_internal_link_inputs (const bNodeTree &ntree)
 
static void update_directly_linked_links_and_sockets (const bNodeTree &ntree)
 
static void find_logical_origins_for_socket_recursive (bNodeSocket &input_socket, bool only_follow_first_input_link, Vector< bNodeSocket *, 16 > &sockets_in_current_chain, Vector< bNodeSocket * > &r_logical_origins, Vector< bNodeSocket * > &r_skipped_origins)
 
static void update_logically_linked_sockets (const bNodeTree &ntree)
 
static void update_nodes_by_type (const bNodeTree &ntree)
 
static void update_sockets_by_identifier (const bNodeTree &ntree)
 
static Vector< const bNode * > get_implicit_origin_nodes (const bNodeTree &ntree, bNode &node)
 
static Vector< const bNode * > get_implicit_target_nodes (const bNodeTree &ntree, bNode &node)
 
static void toposort_from_start_node (const bNodeTree &ntree, const ToposortDirection direction, bNode &start_node, MutableSpan< ToposortNodeState > node_states, Vector< bNode * > &r_sorted_nodes, bool &r_cycle_detected)
 
static void update_toposort (const bNodeTree &ntree, const ToposortDirection direction, Vector< bNode * > &r_sorted_nodes, bool &r_cycle_detected)
 
static void update_root_frames (const bNodeTree &ntree)
 
static void update_direct_frames_childrens (const bNodeTree &ntree)
 
static void update_group_output_node (const bNodeTree &ntree)
 
static void update_dangling_reroute_nodes (const bNodeTree &ntree)
 
static void ensure_topology_cache (const bNodeTree &ntree)
 

Enumeration Type Documentation

◆ ToposortDirection

Enumerator
LeftToRight 
RightToLeft 

Definition at line 274 of file node_runtime.cc.

Function Documentation

◆ ensure_topology_cache()

◆ find_logical_origins_for_socket_recursive()

static void blender::bke::node_tree_runtime::find_logical_origins_for_socket_recursive ( bNodeSocket & input_socket,
bool only_follow_first_input_link,
Vector< bNodeSocket *, 16 > & sockets_in_current_chain,
Vector< bNodeSocket * > & r_logical_origins,
Vector< bNodeSocket * > & r_skipped_origins )
static

◆ get_implicit_origin_nodes()

◆ get_implicit_target_nodes()

◆ preprocess_geometry_node_tree_for_evaluation()

void blender::bke::node_tree_runtime::preprocess_geometry_node_tree_for_evaluation ( bNodeTree & tree_cow)

Is executed when the node tree changed in the depsgraph.

Definition at line 18 of file node_runtime.cc.

References BLI_assert, blender::nodes::ensure_geometry_nodes_lazy_function_graph(), NTREE_GEOMETRY, bNodeTree::runtime, and bNodeTree::type.

◆ topology_cache_is_available() [1/3]

bool blender::bke::node_tree_runtime::topology_cache_is_available ( const bNode & node)
inline

Definition at line 407 of file BKE_node_runtime.hh.

References bNodeTree::runtime, and topology_cache_is_available().

◆ topology_cache_is_available() [2/3]

bool blender::bke::node_tree_runtime::topology_cache_is_available ( const bNodeSocket & socket)
inline

Definition at line 416 of file BKE_node_runtime.hh.

References bNodeSocket::runtime, and topology_cache_is_available().

◆ topology_cache_is_available() [3/3]

bool blender::bke::node_tree_runtime::topology_cache_is_available ( const bNodeTree & tree)
inline

Definition at line 393 of file BKE_node_runtime.hh.

References tree.

Referenced by topology_cache_is_available(), and topology_cache_is_available().

◆ toposort_from_start_node()

◆ update_dangling_reroute_nodes()

◆ update_direct_frames_childrens()

◆ update_directly_linked_links_and_sockets()

static void blender::bke::node_tree_runtime::update_directly_linked_links_and_sockets ( const bNodeTree & ntree)
static

◆ update_group_output_node()

◆ update_internal_link_inputs()

static void blender::bke::node_tree_runtime::update_internal_link_inputs ( const bNodeTree & ntree)
static

◆ update_link_vector()

◆ update_logically_linked_sockets()

static void blender::bke::node_tree_runtime::update_logically_linked_sockets ( const bNodeTree & ntree)
static

◆ update_node_vector()

◆ update_nodes_by_type()

static void blender::bke::node_tree_runtime::update_nodes_by_type ( const bNodeTree & ntree)
static

◆ update_panels()

static void blender::bke::node_tree_runtime::update_panels ( const bNodeTree & ntree)
static

◆ update_root_frames()

◆ update_socket_vectors_and_owner_node()

◆ update_sockets_by_identifier()

static void blender::bke::node_tree_runtime::update_sockets_by_identifier ( const bNodeTree & ntree)
static

◆ update_toposort()