Blender  V3.3
Public Attributes | List of all members
blender::modifiers::geometry_nodes::InputState Struct Reference

Public Attributes

const CPPTypetype = nullptr
 
union {
   SingleInputValue *   single
 
   MultiInputValue *   multi
 
value
 
ValueUsage usage = ValueUsage::Maybe
 
bool was_ready_for_execution = false
 
bool force_compute = false
 

Detailed Description

Definition at line 103 of file MOD_nodes_evaluator.cc.

Member Data Documentation

◆ force_compute

bool blender::modifiers::geometry_nodes::InputState::force_compute = false

True when this input has to be computed for logging/debugging purposes, regardless of whether it is needed for some output.

Definition at line 146 of file MOD_nodes_evaluator.cc.

Referenced by blender::modifiers::geometry_nodes::GeometryNodesEvaluator::finish_node_if_possible().

◆ multi

MultiInputValue* blender::modifiers::geometry_nodes::InputState::multi

◆ single

SingleInputValue* blender::modifiers::geometry_nodes::InputState::single

◆ type

const CPPType* blender::modifiers::geometry_nodes::InputState::type = nullptr

◆ usage

ValueUsage blender::modifiers::geometry_nodes::InputState::usage = ValueUsage::Maybe

◆ 

union { ... } blender::modifiers::geometry_nodes::InputState::value

◆ was_ready_for_execution

bool blender::modifiers::geometry_nodes::InputState::was_ready_for_execution = false

True when this input is/was used for an execution. While a node is running, only the inputs that have this set to true are allowed to be used. This makes sure that inputs created while the node is running correctly trigger the node to run again. Furthermore, it gives the node a consistent view of which inputs are available that does not change unexpectedly.

While the node is running, this can be checked without a lock, because no one is writing to it. If this is true, the value can be read without a lock as well, because the value is not changed by others anymore.

Definition at line 140 of file MOD_nodes_evaluator.cc.

Referenced by blender::modifiers::geometry_nodes::NodeParamsProvider::can_get_input(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute_multi_function_node(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::finish_node_if_possible(), blender::modifiers::geometry_nodes::NodeParamsProvider::lazy_require_input(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::prepare_node_inputs_for_execution(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_required(), and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_unused().


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