Blender V4.5
blender::bke::bNodeSocketRuntime Class Reference

#include <BKE_node_runtime.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Public Attributes

const nodes::SocketDeclarationdeclaration = nullptr
uint32_t changed_flag = 0
short total_inputs = 0
float2 location
Vector< bNodeLink * > directly_linked_links
Vector< bNodeSocket * > directly_linked_sockets
Vector< bNodeSocket * > logically_linked_sockets
Vector< bNodeSocket * > logically_linked_skipped_sockets
bNodeowner_node = nullptr
bNodeSocketinternal_link_input = nullptr
int index_in_node = -1
int index_in_all_sockets = -1
int index_in_inout_sockets = -1

Detailed Description

Run-time data for every socket. This should only contain data that is somewhat persistent (i.e. data that lives longer than a single depsgraph evaluation + redraw). Data that's only used in smaller scopes should generally be stored in separate arrays and/or maps.

Definition at line 266 of file BKE_node_runtime.hh.

Member Data Documentation

◆ changed_flag

uint32_t blender::bke::bNodeSocketRuntime::changed_flag = 0

eNodeTreeChangedFlag.

Definition at line 276 of file BKE_node_runtime.hh.

◆ declaration

const nodes::SocketDeclaration* blender::bke::bNodeSocketRuntime::declaration = nullptr

References a socket declaration that is owned by node->declaration. This is only runtime data. It has to be updated when the node declaration changes. Access can be allowed by using #AllowUsingOutdatedInfo.

Definition at line 273 of file BKE_node_runtime.hh.

◆ directly_linked_links

Vector<bNodeLink *> blender::bke::bNodeSocketRuntime::directly_linked_links

Only valid when #topology_cache_is_dirty is false.

Definition at line 292 of file BKE_node_runtime.hh.

◆ directly_linked_sockets

Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::directly_linked_sockets

Definition at line 293 of file BKE_node_runtime.hh.

◆ index_in_all_sockets

int blender::bke::bNodeSocketRuntime::index_in_all_sockets = -1

Definition at line 299 of file BKE_node_runtime.hh.

◆ index_in_inout_sockets

int blender::bke::bNodeSocketRuntime::index_in_inout_sockets = -1

Definition at line 300 of file BKE_node_runtime.hh.

◆ index_in_node

int blender::bke::bNodeSocketRuntime::index_in_node = -1

Definition at line 298 of file BKE_node_runtime.hh.

◆ internal_link_input

bNodeSocket* blender::bke::bNodeSocketRuntime::internal_link_input = nullptr

Definition at line 297 of file BKE_node_runtime.hh.

◆ location

float2 blender::bke::bNodeSocketRuntime::location

The location of the socket in the tree, calculated while drawing the nodes and invalid if the node tree hasn't been drawn yet. In the node tree's "world space" (the same as #bNode::runtime::draw_bounds).

Definition at line 289 of file BKE_node_runtime.hh.

◆ logically_linked_skipped_sockets

Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::logically_linked_skipped_sockets

Definition at line 295 of file BKE_node_runtime.hh.

◆ logically_linked_sockets

Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::logically_linked_sockets

Definition at line 294 of file BKE_node_runtime.hh.

◆ owner_node

bNode* blender::bke::bNodeSocketRuntime::owner_node = nullptr

Definition at line 296 of file BKE_node_runtime.hh.

◆ total_inputs

short blender::bke::bNodeSocketRuntime::total_inputs = 0

Runtime-only cache of the number of input links, for multi-input sockets, including dragged node links that aren't actually in the tree.

Definition at line 282 of file BKE_node_runtime.hh.


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