|
Blender V5.0
|
Inherits blender::fn::lazy_function::LazyFunction.
Additional Inherited Members | |
| Protected Attributes inherited from blender::fn::lazy_function::LazyFunction | |
| const char * | debug_name_ = "unknown" |
| Vector< Input > | inputs_ |
| Vector< Output > | outputs_ |
| bool | allow_missing_requested_inputs_ = false |
A lazy function that is used to evaluate a passed in closure. Internally that has to build another lazy-function graph, which "fixes" different orderings of inputs/outputs, handles missing sockets and type conversions.
Definition at line 273 of file geometry_nodes_closure_zone.cc.
|
inline |
Definition at line 280 of file geometry_nodes_closure_zone.cc.
References blender::fn::lazy_function::LazyFunction::debug_name_, i, blender::fn::lazy_function::LazyFunction::inputs_, bNode::name, and blender::fn::lazy_function::Used.
|
inlineoverridevirtual |
Destruct the storage created in init_storage.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 321 of file geometry_nodes_closure_zone.cc.
|
inlineoverridevirtual |
Needs to be implemented by subclasses. This is separate from execute so that additional debugging logic can be implemented in execute.
Implements blender::fn::lazy_function::LazyFunction.
Definition at line 330 of file geometry_nodes_closure_zone.cc.
References DEG_get_original(), extract(), generate_closure_compatibility_warnings(), bNodeTree::id, initialize_execution_graph(), initialize_pass_through_graph(), is_recursive_call(), params, ID::session_uid, and set_default_outputs().
|
inline |
Definition at line 413 of file geometry_nodes_closure_zone.cc.
References blender::nodes::geo_eval_log::GeoTreeLogger::allocator, blender::nodes::ClosureSignature::find_input_index(), i, blender::nodes::ClosureSignature::inputs, blender::bke::node_socket_type_find_static(), blender::nodes::geo_eval_log::GeoTreeLogger::node_warnings, blender::nodes::Closure::signature(), blender::bke::bNodeSocketType::type, and blender::nodes::ClosureSignature::Item::type.
Referenced by execute_impl().
|
inline |
Definition at line 311 of file geometry_nodes_closure_zone.cc.
|
inlineoverridevirtual |
Allocates storage for this function. The storage will be passed to every call to execute. If the function does not keep track of any state, this does not have to be implemented.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 316 of file geometry_nodes_closure_zone.cc.
References blender::LinearAllocator< Allocator >::construct().
|
inline |
Definition at line 515 of file geometry_nodes_closure_zone.cc.
References blender::fn::lazy_function::Graph::add_function(), blender::fn::lazy_function::Graph::add_input(), blender::fn::lazy_function::Graph::add_link(), blender::fn::lazy_function::Graph::add_output(), blender::ResourceScope::allocator(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::EvaluateClosureEvalStorage::closure, blender::nodes::Closure::default_input_value(), DEG_get_original(), blender::nodes::ClosureSignature::find_input_index(), blender::nodes::ClosureSignature::find_output_index(), blender::nodes::Closure::function(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::nodes::EvaluateClosureEvalStorage::graph, blender::nodes::EvaluateClosureEvalStorage::graph_executor, blender::nodes::EvaluateClosureEvalStorage::graph_executor_storage, blender::fn::lazy_function::Graph::graph_inputs(), blender::fn::lazy_function::Graph::graph_outputs(), i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::IndexRange::index_range(), blender::nodes::Closure::indices(), blender::fn::lazy_function::Node::input(), input, blender::nodes::ClosureFunctionIndices::input_usages, blender::nodes::ClosureFunctionIndices::inputs, blender::nodes::ClosureSignature::inputs, blender::fn::lazy_function::LazyFunction::inputs_, lock, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_try(), blender::nodes::ClosureFunctionIndices::main, blender::fn::lazy_function::InputSocket::origin(), blender::fn::lazy_function::Node::output(), output, blender::nodes::ClosureFunctionIndices::output_data_reference_sets, blender::nodes::ClosureFunctionIndices::output_usages, blender::nodes::ClosureFunctionIndices::outputs, blender::nodes::ClosureSignature::outputs, blender::fn::lazy_function::LazyFunction::outputs_, bNodeTree::runtime, blender::nodes::EvaluateClosureEvalStorage::scope, blender::fn::lazy_function::InputSocket::set_default_value(), blender::nodes::EvaluateClosureEvalStorage::side_effect_provider, blender::nodes::Closure::signature(), blender::fn::lazy_function::OutputSocket::targets(), blender::gpu::shader::to_type(), and blender::fn::lazy_function::Graph::update_node_indices().
Referenced by execute_impl().
|
inline |
Definition at line 678 of file geometry_nodes_closure_zone.cc.
References blender::fn::lazy_function::Graph::add_function(), blender::fn::lazy_function::Graph::add_input(), blender::fn::lazy_function::Graph::add_link(), blender::fn::lazy_function::Graph::add_output(), blender::ResourceScope::allocator(), blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::evaluate_closure_node_internally_linked_input(), blender::bke::bNodeSocketType::geometry_nodes_default_value, blender::nodes::EvaluateClosureEvalStorage::graph, blender::nodes::EvaluateClosureEvalStorage::graph_executor, blender::nodes::EvaluateClosureEvalStorage::graph_executor_storage, blender::fn::lazy_function::Graph::graph_inputs(), blender::fn::lazy_function::Graph::graph_outputs(), blender::fn::lazy_function::Node::input(), input, blender::fn::lazy_function::LazyFunction::inputs_, blender::fn::lazy_function::InputSocket::origin(), blender::fn::lazy_function::Node::output(), output, blender::fn::lazy_function::LazyFunction::outputs_, blender::nodes::EvaluateClosureEvalStorage::scope, blender::fn::lazy_function::InputSocket::set_default_value(), bNodeSocket::typeinfo, and blender::fn::lazy_function::Graph::update_node_indices().
Referenced by execute_impl().
|
inline |
Definition at line 386 of file geometry_nodes_closure_zone.cc.
References blender::nodes::GeoNodesUserData::compute_context.
Referenced by execute_impl().
|
inline |
Definition at line 402 of file geometry_nodes_closure_zone.cc.
References params, and blender::nodes::set_default_value_for_output_socket().
Referenced by execute_impl().