Blender
V3.3
|
Public Member Functions | |
NodeParamsProvider (GeometryNodesEvaluator &evaluator, DNode dnode, NodeState &node_state, NodeTaskRunState *run_state) | |
bool | can_get_input (StringRef identifier) const override |
bool | can_set_output (StringRef identifier) const override |
GMutablePointer | extract_input (StringRef identifier) override |
Vector< GMutablePointer > | extract_multi_input (StringRef identifier) override |
GPointer | get_input (StringRef identifier) const override |
GMutablePointer | alloc_output_value (const CPPType &type) override |
void | set_output (StringRef identifier, GMutablePointer value) override |
void | set_input_unused (StringRef identifier) override |
bool | output_is_required (StringRef identifier) const override |
bool | lazy_require_input (StringRef identifier) override |
bool | lazy_output_is_required (StringRef identifier) const override |
void | set_default_remaining_outputs () override |
Additional Inherited Members | |
![]() | |
DNode | dnode |
const Object * | self_object = nullptr |
const ModifierData * | modifier = nullptr |
Depsgraph * | depsgraph = nullptr |
geometry_nodes_eval_log::GeoLogger * | logger = nullptr |
Implements the callbacks that might be called when a node is executed.
Definition at line 409 of file MOD_nodes_evaluator.cc.
blender::modifiers::geometry_nodes::NodeParamsProvider::NodeParamsProvider | ( | GeometryNodesEvaluator & | evaluator, |
DNode | dnode, | ||
NodeState & | node_state, | ||
NodeTaskRunState * | run_state | ||
) |
Definition at line 1742 of file MOD_nodes_evaluator.cc.
References blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::depsgraph, blender::nodes::GeoNodeExecParamsProvider::depsgraph, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::geo_logger, blender::nodes::GeoNodeExecParamsProvider::logger, NodesModifierData::modifier, blender::nodes::GeoNodeExecParamsProvider::modifier, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::modifier_, blender::modifiers::geometry_nodes::GeometryNodesEvaluationParams::self_object, and blender::nodes::GeoNodeExecParamsProvider::self_object.
|
overridevirtual |
Prepare a memory buffer for an output value of the node. The returned memory has to be initialized by the caller. The identifier and type are expected to be correct.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1827 of file MOD_nodes_evaluator.cc.
References blender::LinearAllocator< Allocator >::allocate(), and type.
|
overridevirtual |
Returns true when the node is allowed to get/extract the input value. The identifier is expected to be valid. This may return false if the input value has been consumed already.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1755 of file MOD_nodes_evaluator.cc.
References blender::modifiers::geometry_nodes::MultiInputValue::all_values_available(), BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::SocketRef::index(), blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::NodeState::inputs, blender::nodes::InputSocketRef::is_multi_input_socket(), blender::modifiers::geometry_nodes::InputState::multi, blender::modifiers::geometry_nodes::InputState::single, blender::modifiers::geometry_nodes::SingleInputValue::value, blender::modifiers::geometry_nodes::InputState::value, and blender::modifiers::geometry_nodes::InputState::was_ready_for_execution.
Referenced by extract_input(), extract_multi_input(), and get_input().
|
overridevirtual |
Returns true when the node is allowed to set the output value. The identifier is expected to be valid. This may return false if the output value has been set already.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1773 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::OutputState::has_been_computed, blender::nodes::SocketRef::index(), blender::nodes::DNode::output_by_identifier(), and blender::modifiers::geometry_nodes::NodeState::outputs.
|
overridevirtual |
Take ownership of an input value. The caller is responsible for destructing the value. It does not have to be freed, because the memory is managed by the geometry nodes evaluator.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1782 of file MOD_nodes_evaluator.cc.
References BLI_assert, can_get_input(), blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::SocketRef::index(), blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::NodeState::inputs, blender::nodes::InputSocketRef::is_multi_input_socket(), blender::modifiers::geometry_nodes::InputState::single, blender::modifiers::geometry_nodes::InputState::type, blender::modifiers::geometry_nodes::SingleInputValue::value, and blender::modifiers::geometry_nodes::InputState::value.
|
overridevirtual |
Similar to extract_input, but has to be used for multi-input sockets.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1796 of file MOD_nodes_evaluator.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, can_get_input(), blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::SocketRef::index(), blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::NodeState::inputs, blender::nodes::InputSocketRef::is_multi_input_socket(), blender::modifiers::geometry_nodes::InputState::multi, blender::modifiers::geometry_nodes::InputState::type, blender::modifiers::geometry_nodes::InputState::value, and blender::modifiers::geometry_nodes::MultiInputValue::values.
|
overridevirtual |
Get the input value for the identifier without taking ownership of it.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1815 of file MOD_nodes_evaluator.cc.
References BLI_assert, can_get_input(), blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::SocketRef::index(), blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::NodeState::inputs, blender::nodes::InputSocketRef::is_multi_input_socket(), blender::modifiers::geometry_nodes::InputState::single, blender::modifiers::geometry_nodes::InputState::type, blender::modifiers::geometry_nodes::SingleInputValue::value, and blender::modifiers::geometry_nodes::InputState::value.
|
overridevirtual |
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1886 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::OutputState::has_been_computed, blender::nodes::SocketRef::index(), blender::modifiers::geometry_nodes::node_supports_laziness(), blender::nodes::DNode::output_by_identifier(), blender::modifiers::geometry_nodes::OutputState::output_usage_for_execution, blender::modifiers::geometry_nodes::NodeState::outputs, and blender::modifiers::geometry_nodes::Required.
|
overridevirtual |
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1844 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::SocketRef::index(), blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::NodeState::inputs, blender::modifiers::geometry_nodes::node_supports_laziness(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_required(), blender::modifiers::geometry_nodes::InputState::was_ready_for_execution, and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::with_locked_node().
|
overridevirtual |
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1874 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::OutputState::has_been_computed, blender::nodes::SocketRef::index(), blender::nodes::DNode::output_by_identifier(), blender::modifiers::geometry_nodes::OutputState::output_usage_for_execution, blender::modifiers::geometry_nodes::NodeState::outputs, and blender::modifiers::geometry_nodes::Unused.
|
overridevirtual |
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1899 of file MOD_nodes_evaluator.cc.
References blender::LinearAllocator< Allocator >::allocate(), BLI_assert, buffer, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::GeometryNodesEvaluator::forward_output(), blender::modifiers::geometry_nodes::get_socket_cpp_type(), blender::modifiers::geometry_nodes::OutputState::has_been_computed, blender::nodes::DNode::output(), blender::modifiers::geometry_nodes::OutputState::output_usage_for_execution, blender::modifiers::geometry_nodes::NodeState::outputs, blender::nodes::NodeRef::outputs(), type, and blender::modifiers::geometry_nodes::Unused.
|
overridevirtual |
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1864 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::nodes::DNode::input_by_identifier(), blender::modifiers::geometry_nodes::GeometryNodesEvaluator::set_input_unused(), and blender::modifiers::geometry_nodes::GeometryNodesEvaluator::with_locked_node().
|
overridevirtual |
The value has been allocated with alloc_output_value.
Implements blender::nodes::GeoNodeExecParamsProvider.
Definition at line 1833 of file MOD_nodes_evaluator.cc.
References BLI_assert, blender::nodes::GeoNodeExecParamsProvider::dnode, blender::modifiers::geometry_nodes::GeometryNodesEvaluator::forward_output(), blender::modifiers::geometry_nodes::OutputState::has_been_computed, blender::nodes::SocketRef::index(), blender::nodes::DNode::output_by_identifier(), and blender::modifiers::geometry_nodes::NodeState::outputs.