Blender
V3.3
|
Public Attributes | |
bool | has_been_computed = false |
ValueUsage | output_usage = ValueUsage::Maybe |
ValueUsage | output_usage_for_execution = ValueUsage::Maybe |
int | potential_users = 0 |
Definition at line 149 of file MOD_nodes_evaluator.cc.
bool blender::modifiers::geometry_nodes::OutputState::has_been_computed = false |
If this output has been computed and forwarded already. If this is true, the value is not computed/forwarded again.
Definition at line 154 of file MOD_nodes_evaluator.cc.
Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::assert_expected_outputs_have_been_computed(), blender::modifiers::geometry_nodes::NodeParamsProvider::can_set_output(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_multi_function_node__field(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_multi_function_node__value(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_unknown_node(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::finish_node_if_possible(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_output_is_required(), blender::modifiers::geometry_nodes::NodeParamsProvider::output_is_required(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::prepare_node_outputs_for_execution(), blender::modifiers::geometry_nodes::NodeParamsProvider::set_default_remaining_outputs(), and blender::modifiers::geometry_nodes::NodeParamsProvider::set_output().
ValueUsage blender::modifiers::geometry_nodes::OutputState::output_usage = ValueUsage::Maybe |
Keeps track of how the output value is used. If a connected input becomes required, this output has to become required as well. The output becomes ignored when it has zero potential users that are counted below.
Definition at line 161 of file MOD_nodes_evaluator.cc.
Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::finish_node_if_possible(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::initialize_node_state(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::prepare_node_outputs_for_execution(), and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::send_output_required_notification().
ValueUsage blender::modifiers::geometry_nodes::OutputState::output_usage_for_execution = ValueUsage::Maybe |
This is a copy of output_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).
While the node is running, this can be checked without a lock, because no one is writing to it.
Definition at line 171 of file MOD_nodes_evaluator.cc.
Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::assert_expected_outputs_have_been_computed(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_output_is_required(), blender::modifiers::geometry_nodes::NodeParamsProvider::output_is_required(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::prepare_node_outputs_for_execution(), and blender::modifiers::geometry_nodes::NodeParamsProvider::set_default_remaining_outputs().
int blender::modifiers::geometry_nodes::OutputState::potential_users = 0 |
Counts how many times the value from this output might be used. If this number reaches zero, the output is not needed anymore.
Definition at line 177 of file MOD_nodes_evaluator.cc.
Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::initialize_node_state(), and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::send_output_unused_notification().