|
Blender V4.3
|
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 |
Definition at line 2300 of file geometry_nodes_lazy_function.cc.
|
inline |
Definition at line 2328 of file geometry_nodes_lazy_function.cc.
References BLI_assert, blender::nodes::ZoneBuildInfo::indices, blender::nodes::initialize_zone_wrapper(), blender::bke::bNodeTreeZone::input_node, blender::nodes::ZoneFunctionIndices::inputs, blender::nodes::ZoneFunctionIndices::main, and bNode::storage.
|
inline |
Definition at line 2705 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::Graph::add_function(), blender::fn::lazy_function::Graph::add_link(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::nodes::ZoneFunctionIndices::attributes_by_caller_propagation_index, blender::nodes::ZoneFunctionIndices::attributes_by_field_source_index, BLI_assert, blender::nodes::ZoneFunctionIndices::border_link_usages, blender::bke::bNodeTreeZone::border_links, blender::nodes::ZoneFunctionIndices::border_links, blender::nodes::ForeachGeometryElementEvalStorage::components, blender::nodes::ZoneBodyFunction::function, NodeGeometryForeachGeometryElementOutput::generation_items, blender::nodes::ForeachGeometryElementEvalStorage::graph, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::nodes::ZoneBodyFunction::indices, blender::nodes::ZoneBuildInfo::indices, blender::fn::lazy_function::Node::input(), NodeGeometryForeachGeometryElementOutput::input_items, blender::bke::bNodeTreeZone::input_node, blender::nodes::ZoneFunctionIndices::input_usages, blender::nodes::ZoneFunctionIndices::inputs, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), NodeForeachGeometryElementGenerationItems::items_num, NodeForeachGeometryElementInputItems::items_num, NodeForeachGeometryElementMainItems::items_num, blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::nodes::ZoneFunctionIndices::main, NodeGeometryForeachGeometryElementOutput::main_items, blender::nodes::ForeachGeometryElementEvalStorage::or_function, blender::fn::lazy_function::Node::output(), blender::nodes::ZoneFunctionIndices::output_usages, blender::nodes::ZoneFunctionIndices::outputs, blender::nodes::ForeachGeometryElementEvalStorage::reduce_function, blender::fn::lazy_function::InputSocket::set_default_value(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::nodes::ForeachGeometryElementEvalStorage::total_iterations_num.
|
inlineoverridevirtual |
Destruct the storage created in init_storage.
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 2382 of file geometry_nodes_lazy_function.cc.
References blender::nodes::ForeachGeometryElementEvalStorage::graph_executor.
|
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 2391 of file geometry_nodes_lazy_function.cc.
References blender::nodes::geo_eval_log::GeoTreeLogger::allocator, blender::nodes::geo_eval_log::GeoTreeLogger::node_warnings, params, and bNode::storage.
|
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 2377 of file geometry_nodes_lazy_function.cc.
References blender::LinearAllocator< Allocator >::construct().
|
inline |
Definition at line 2426 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::Graph::add_input(), blender::fn::lazy_function::Graph::add_output(), blender::nodes::ForeachGeometryElementEvalStorage::allocator, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::nodes::ForeachGeometryElementEvalStorage::body_execute_wrapper, DEG_get_original_id(), blender::nodes::ForeachGeometryElementEvalStorage::graph, blender::nodes::ForeachGeometryElementEvalStorage::graph_executor, blender::nodes::ForeachGeometryElementEvalStorage::graph_executor_storage, bNodeTree::id, bNode::identifier, blender::nodes::ZoneBuildInfo::indices, blender::nodes::ZoneFunctionIndices::inputs, blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, lock, blender::nodes::ZoneFunctionIndices::main, blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, params, bNodeTree::runtime, blender::nodes::ForeachGeometryElementEvalStorage::side_effect_provider, blender::fn::lazy_function::Graph::to_dot(), and blender::fn::lazy_function::Graph::update_node_indices().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 2834 of file geometry_nodes_lazy_function.cc.
References blender::nodes::zone_wrapper_input_name().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 2839 of file geometry_nodes_lazy_function.cc.
References blender::nodes::zone_wrapper_output_name().
|
inline |
Definition at line 2483 of file geometry_nodes_lazy_function.cc.
References blender::bke::SocketValueVariant::allocate_single(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::nodes::ForeachElementComponent::body_nodes_range, blender::nodes::ForeachGeometryElementEvalStorage::components, NodeGeometryForeachGeometryElementOutput::domain, blender::bke::AttributeAccessor::domain_size(), ELEM, blender::nodes::ForeachElementComponent::element_geometries, blender::nodes::ForeachElementComponent::emplace_field_context(), extract(), blender::nodes::ForeachElementComponent::field_context, blender::nodes::ForeachElementComponent::field_evaluator, blender::bke::GeometrySet::get_components(), blender::bke::GeometrySet::get_grease_pencil(), blender::nodes::ForeachElementComponent::id, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::ForeachElementComponent::index_values, blender::nodes::ZoneBuildInfo::indices, blender::nodes::ForeachElementComponent::input_attributes(), NodeGeometryForeachGeometryElementOutput::input_items, blender::bke::bNodeTreeZone::input_node, blender::nodes::ZoneFunctionIndices::inputs, blender::nodes::ForeachElementComponent::item_input_values, NodeForeachGeometryElementInputItems::items, NodeForeachGeometryElementInputItems::items_num, blender::nodes::ZoneFunctionIndices::main, blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, params, pos, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), NodeForeachGeometryElementInputItem::socket_type, blender::bke::greasepencil::Drawing::strokes(), and blender::nodes::ForeachGeometryElementEvalStorage::total_iterations_num.
|
inline |
Definition at line 2591 of file geometry_nodes_lazy_function.cc.
References blender::bke::GeometrySet::get_curves(), blender::bke::GeometrySet::get_grease_pencil(), blender::bke::GeometrySet::get_instances(), blender::bke::GeometrySet::get_mesh(), blender::bke::GeometrySet::get_pointcloud(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), and blender::Array< T, InlineBufferCapacity, Allocator >::size().
| ItemIndices blender::nodes::LazyFunctionForForeachGeometryElementZone::generation |
Definition at line 2322 of file geometry_nodes_lazy_function.cc.
Referenced by blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group_lazyness(), blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_invalid_generation_items(), and blender::nodes::LazyFunctionForReduceForeachGeometryElement::LazyFunctionForReduceForeachGeometryElement().
| ItemIndices blender::nodes::LazyFunctionForForeachGeometryElementZone::inputs |
Definition at line 2320 of file geometry_nodes_lazy_function.cc.
| ItemIndices blender::nodes::LazyFunctionForForeachGeometryElementZone::main |