|
Blender V5.0
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Member Functions | |
| LazyFunctionForClosureZone (const bNodeTree &btree, const bke::bNodeTreeZone &zone, ZoneBuildInfo &zone_info, const ZoneBodyFunction &body_fn) | |
| void | execute_impl (lf::Params ¶ms, const lf::Context &context) const override |
| Public Member Functions inherited from blender::fn::lazy_function::LazyFunction | |
| virtual | ~LazyFunction ()=default |
| virtual std::string | name () const |
| virtual std::string | input_name (int index) const |
| virtual std::string | output_name (int index) const |
| virtual void * | init_storage (LinearAllocator<> &allocator) const |
| virtual void | destruct_storage (void *storage) const |
| virtual void | possible_output_dependencies (int output_index, FunctionRef< void(Span< int >)> fn) const |
| bool | always_used_inputs_available (const Params ¶ms) const |
| bool | allow_missing_requested_inputs () const |
| Span< Input > | inputs () const |
| Span< Output > | outputs () const |
| void | execute (Params ¶ms, const Context &context) const |
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 internally has a lazy-function graph that mimics the "body" of the closure zone.
Definition at line 75 of file geometry_nodes_closure_zone.cc.
|
inline |
Definition at line 85 of file geometry_nodes_closure_zone.cc.
References Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BLI_assert, blender::nodes::ZoneFunctionIndices::border_links, blender::fn::lazy_function::LazyFunction::debug_name_, blender::CPPType::get(), i, blender::nodes::ZoneBodyFunction::indices, blender::nodes::ZoneBuildInfo::indices, blender::nodes::initialize_zone_wrapper(), blender::nodes::ZoneFunctionIndices::inputs, blender::fn::lazy_function::LazyFunction::inputs_, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), bNodeSocket::name, blender::fn::lazy_function::LazyFunction::outputs_, blender::nodes::ZoneFunctionIndices::reference_sets, bNodeTree::runtime, blender::bke::node_tree_reference_lifetimes::ReferenceSetInfo::socket, blender::bke::node_tree_reference_lifetimes::ReferenceSetInfo::type, bNodeSocket::typeinfo, and blender::fn::lazy_function::Used.
|
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 136 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(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::fn::lazy_function::Graph::add_output(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), DEG_get_original(), blender::bke::SocketValueVariant::From(), blender::CPPType::get(), blender::fn::lazy_function::Graph::graph_inputs(), blender::fn::lazy_function::Graph::graph_outputs(), i, blender::fn::lazy_function::Socket::index(), blender::nodes::ClosureFunctionIndices::input_usages, blender::nodes::ClosureFunctionIndices::inputs, lock, blender::nodes::ClosureFunctionIndices::main, bNodeSocket::name, NodeClosureInputItem::name, NodeClosureOutputItem::name, blender::nodes::ClosureFunctionIndices::output_data_reference_sets, blender::nodes::ClosureFunctionIndices::output_usages, blender::nodes::ClosureFunctionIndices::outputs, params, bNodeTree::runtime, blender::bke::node_tree_reference_lifetimes::ReferenceSetInfo::socket, blender::bke::node_tree_reference_lifetimes::ReferenceSetInfo::type, bNodeSocket::typeinfo, and blender::fn::lazy_function::Graph::update_node_indices().