|
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 |
Definition at line 232 of file geometry_nodes_foreach_geometry_element_zone.cc.
|
inline |
Definition at line 260 of file geometry_nodes_foreach_geometry_element_zone.cc.
References BLI_assert, blender::fn::lazy_function::LazyFunction::debug_name_, blender::IndexRange::from_begin_size(), blender::nodes::ZoneBuildInfo::indices, blender::nodes::initialize_zone_wrapper(), blender::bke::bNodeTreeZone::input_node(), blender::nodes::ZoneFunctionIndices::inputs, blender::fn::lazy_function::LazyFunction::inputs_, blender::nodes::ZoneFunctionIndices::main, blender::fn::lazy_function::LazyFunction::outputs_, and bNode::storage.
|
inline |
Definition at line 636 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::fn::lazy_function::Graph::add_function(), blender::fn::lazy_function::Graph::add_link(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), 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, InlineBufferCapacity, 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::nodes::ZoneFunctionIndices::reference_sets, 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 314 of file geometry_nodes_foreach_geometry_element_zone.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 323 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::nodes::geo_eval_log::GeoTreeLogger::allocator, initialize_execution_graph(), blender::nodes::geo_eval_log::GeoTreeLogger::node_warnings, 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 309 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::LinearAllocator< Allocator >::construct().
|
inline |
Definition at line 358 of file geometry_nodes_foreach_geometry_element_zone.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(), blender::nodes::ForeachGeometryElementEvalStorage::graph, blender::nodes::ForeachGeometryElementEvalStorage::graph_executor, blender::nodes::ForeachGeometryElementEvalStorage::graph_executor_storage, bNode::identifier, blender::nodes::ZoneBuildInfo::indices, input, blender::nodes::ZoneFunctionIndices::inputs, blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, lock, blender::nodes::ZoneFunctionIndices::main, blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, output, params, bNodeTree::runtime, blender::nodes::ForeachGeometryElementEvalStorage::side_effect_provider, this, and blender::fn::lazy_function::Graph::update_node_indices().
Referenced by execute_impl().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 756 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::nodes::zone_wrapper_input_name().
|
inlineoverridevirtual |
Reimplemented from blender::fn::lazy_function::LazyFunction.
Definition at line 761 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::nodes::zone_wrapper_output_name().
|
inline |
Definition at line 414 of file geometry_nodes_foreach_geometry_element_zone.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::IndexRange::from_begin_size(), blender::bke::GeometrySet::get_components(), blender::bke::GeometrySet::get_grease_pencil(), blender::GVArrayCommon::get_to_uninitialized(), blender::bke::GeometryComponent::GreasePencil, 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::bke::CurvesGeometry::is_empty(), blender::nodes::ForeachElementComponent::item_input_values, NodeForeachGeometryElementInputItems::items, NodeForeachGeometryElementInputItems::items_num, blender::nodes::ZoneFunctionIndices::main, blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, mask(), 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 522 of file geometry_nodes_foreach_geometry_element_zone.cc.
References blender::bke::GeometryComponent::Curve, blender::geometry::extract_curves(), blender::geometry::extract_curves_points(), blender::geometry::extract_greasepencil_layer_curves(), blender::geometry::extract_greasepencil_layer_points(), blender::geometry::extract_greasepencil_layers(), blender::geometry::extract_instances(), blender::geometry::extract_mesh_edges(), blender::geometry::extract_mesh_faces(), blender::geometry::extract_mesh_vertices(), blender::geometry::extract_pointcloud_points(), 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::bke::GeometryComponent::GreasePencil, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::bke::GeometryComponent::Instance, mask(), blender::bke::GeometryComponent::Mesh, blender::bke::GeometryComponent::PointCloud, and blender::Array< T, InlineBufferCapacity, Allocator >::size().
| ItemIndices blender::nodes::LazyFunctionForForeachGeometryElementZone::generation |
Definition at line 254 of file geometry_nodes_foreach_geometry_element_zone.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 252 of file geometry_nodes_foreach_geometry_element_zone.cc.
| ItemIndices blender::nodes::LazyFunctionForForeachGeometryElementZone::main |
Definition at line 253 of file geometry_nodes_foreach_geometry_element_zone.cc.
Referenced by blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry(), and blender::nodes::LazyFunctionForReduceForeachGeometryElement::LazyFunctionForReduceForeachGeometryElement().