Blender V4.3
blender::fn::lazy_function::OutputState Struct Reference

Public Attributes

ValueUsage usage = ValueUsage::Maybe
 
ValueUsage usage_for_execution = ValueUsage::Maybe
 
bool has_been_computed = false
 
int potential_target_sockets = 0
 
void * value = nullptr
 

Detailed Description

Definition at line 103 of file lazy_function_graph_executor.cc.

Member Data Documentation

◆ has_been_computed

bool blender::fn::lazy_function::OutputState::has_been_computed = false

Is set to true once the output has been computed and then stays true. Access does not require holding the node lock.

Definition at line 121 of file lazy_function_graph_executor.cc.

◆ potential_target_sockets

int blender::fn::lazy_function::OutputState::potential_target_sockets = 0

Number of linked sockets that might still use the value of this output.

Definition at line 125 of file lazy_function_graph_executor.cc.

◆ usage

ValueUsage blender::fn::lazy_function::OutputState::usage = ValueUsage::Maybe

Keeps track of how the output value is used. If a connected input becomes used, this output has to become used as well. The output becomes unused when it is used by no input socket anymore and it's not an output of the graph.

Definition at line 109 of file lazy_function_graph_executor.cc.

◆ usage_for_execution

ValueUsage blender::fn::lazy_function::OutputState::usage_for_execution = ValueUsage::Maybe

This is a copy of usage that is done right before node execution starts. This is done so that the node gets a consistent view of what outputs are used, even when this changes while the node is running (the node might be reevaluated in that case). Access during execution of a node, does not require holding the node lock.

Definition at line 116 of file lazy_function_graph_executor.cc.

◆ value

void* blender::fn::lazy_function::OutputState::value = nullptr

Holds the output value for a short period of time while the node is initializing it and before it's forwarded to input sockets. Access does not require holding the node lock.

Definition at line 130 of file lazy_function_graph_executor.cc.


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