|
Blender V5.0
|
#include <BKE_node_runtime.hh>
Inherits blender::NonCopyable, and blender::NonMovable.
Public Attributes | |
| const nodes::SocketDeclaration * | declaration = nullptr |
| uint32_t | changed_flag = 0 |
| short | total_inputs = 0 |
| nodes::StructureType | inferred_structure_type = nodes::StructureType::Dynamic |
| float2 | location |
| Vector< bNodeLink * > | directly_linked_links |
| Vector< bNodeSocket * > | directly_linked_sockets |
| Vector< bNodeSocket * > | logically_linked_sockets |
| Vector< bNodeSocket * > | logically_linked_skipped_sockets |
| bNode * | owner_node = nullptr |
| bNodeSocket * | internal_link_input = nullptr |
| int | index_in_node = -1 |
| int | index_in_all_sockets = -1 |
| int | index_in_inout_sockets = -1 |
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 272 of file BKE_node_runtime.hh.
| uint32_t blender::bke::bNodeSocketRuntime::changed_flag = 0 |
Definition at line 282 of file BKE_node_runtime.hh.
| 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 279 of file BKE_node_runtime.hh.
Only valid when #topology_cache_is_dirty is false.
Definition at line 309 of file BKE_node_runtime.hh.
| Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::directly_linked_sockets |
Definition at line 310 of file BKE_node_runtime.hh.
| int blender::bke::bNodeSocketRuntime::index_in_all_sockets = -1 |
Definition at line 316 of file BKE_node_runtime.hh.
| int blender::bke::bNodeSocketRuntime::index_in_inout_sockets = -1 |
Definition at line 317 of file BKE_node_runtime.hh.
| int blender::bke::bNodeSocketRuntime::index_in_node = -1 |
Definition at line 315 of file BKE_node_runtime.hh.
| nodes::StructureType blender::bke::bNodeSocketRuntime::inferred_structure_type = nodes::StructureType::Dynamic |
Inferred structure type of the socket. This is not necessarily the same as the structure type that is displayed in the UI. For example, it would be #StructureType::Single for an unlinked input of the Math node, but the socket is displayed as #StructureType::Dynamic.
This is stored on the socket instead of as array in bNodeTreeRuntime because the data needs to stay attached to the socket even when the node tree changes. This is used when e.g. syncing a newly created Separate Bundle node to an existing Combine Bundle node.
Definition at line 299 of file BKE_node_runtime.hh.
| bNodeSocket* blender::bke::bNodeSocketRuntime::internal_link_input = nullptr |
Definition at line 314 of file BKE_node_runtime.hh.
| 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 306 of file BKE_node_runtime.hh.
| Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::logically_linked_skipped_sockets |
Definition at line 312 of file BKE_node_runtime.hh.
| Vector<bNodeSocket *> blender::bke::bNodeSocketRuntime::logically_linked_sockets |
Definition at line 311 of file BKE_node_runtime.hh.
Definition at line 313 of file BKE_node_runtime.hh.
| 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 288 of file BKE_node_runtime.hh.