|
Blender V4.5
|
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 277 of file geometry_nodes_closure_zone.cc.
|
inline |
Definition at line 284 of file geometry_nodes_closure_zone.cc.
References blender::fn::lazy_function::LazyFunction::debug_name_, for(), 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 325 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 334 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 417 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::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 315 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 320 of file geometry_nodes_closure_zone.cc.
References blender::LinearAllocator< Allocator >::construct().
|
inline |
Definition at line 482 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::allocate_owned(), blender::ResourceScope::allocator(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert, blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::EvaluateClosureEvalStorage::closure, blender::nodes::construct_socket_default_value(), 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::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 657 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::allocate_owned(), blender::ResourceScope::allocator(), blender::nodes::build_implicit_conversion_lazy_function(), blender::nodes::construct_socket_default_value(), blender::nodes::evaluate_closure_node_internally_linked_input(), blender::bke::bNodeSocketType::geometry_nodes_cpp_type, 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 390 of file geometry_nodes_closure_zone.cc.
References blender::nodes::GeoNodesUserData::compute_context.
Referenced by execute_impl().
|
inline |
Definition at line 406 of file geometry_nodes_closure_zone.cc.
References params, and blender::nodes::set_default_value_for_output_socket().
Referenced by execute_impl().