|
Blender V4.3
|
Inherits blender::fn::lazy_function::LazyFunction.
Public Attributes | |
| const LazyFunctionForForeachGeometryElementZone & | parent_ |
| ForeachGeometryElementEvalStorage & | eval_storage_ |
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 takes the result from all loop body evaluations and reduces them to the final output of the entire zone.
Definition at line 2173 of file geometry_nodes_lazy_function.cc.
| blender::nodes::LazyFunctionForReduceForeachGeometryElement::LazyFunctionForReduceForeachGeometryElement | ( | const LazyFunctionForForeachGeometryElementZone & | parent, |
| ForeachGeometryElementEvalStorage & | eval_storage ) |
Definition at line 2845 of file geometry_nodes_lazy_function.cc.
References blender::fn::lazy_function::LazyFunction::debug_name_, blender::nodes::LazyFunctionForForeachGeometryElementZone::generation, blender::CPPType::get(), blender::fn::lazy_function::LazyFunction::inputs_, blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, blender::nodes::LazyFunctionForForeachGeometryElementZone::main, NodeForeachGeometryElementGenerationItem::name, NodeForeachGeometryElementMainItem::name, blender::fn::lazy_function::LazyFunction::outputs_, parent_, bNode::storage, blender::nodes::ForeachGeometryElementEvalStorage::total_iterations_num, and bNodeSocket::typeinfo.
|
overridevirtual |
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 2917 of file geometry_nodes_lazy_function.cc.
References handle_generation_items(), handle_main_items_and_geometry(), parent_, and bNode::storage.
| void blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_item_groups | ( | lf::Params & | params, |
| const lf::Context & | context, | ||
| int | first_valid_item_i ) const |
Definition at line 3043 of file geometry_nodes_lazy_function.cc.
References blender::IndexRange::from_begin_end(), handle_generation_items_group(), parent_, SOCK_GEOMETRY, NodeForeachGeometryElementGenerationItem::socket_type, and bNode::storage.
Referenced by handle_generation_items().
| void blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items | ( | lf::Params & | params, |
| const lf::Context & | context ) const |
Definition at line 3005 of file geometry_nodes_lazy_function.cc.
References handle_generation_item_groups(), handle_invalid_generation_items(), parent_, and bNode::storage.
Referenced by execute_impl().
| void blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group | ( | lf::Params & | params, |
| const lf::Context & | context, | ||
| int | geometry_item_i, | ||
| IndexRange | generation_items_range ) const |
Definition at line 3074 of file geometry_nodes_lazy_function.cc.
References blender::bke::AttributeAccessor::adapt_domain(), blender::bke::AttributeFilter::allow_skip(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::bke::GeometryComponent::attributes_for_write(), BUFFER_FOR_CPP_TYPE_VALUE, CD_PROP_STRING, blender::nodes::ForeachGeometryElementEvalStorage::components, blender::bke::AttributeAccessor::contains(), blender::bke::GeometryComponent::Curve, blender::GMutableSpan::data(), blender::bke::AttributeIter::data_type, NodeForeachGeometryElementGenerationItem::domain, blender::bke::GeometryComponent::Edit, eval_storage_, blender::bke::GSpanAttributeWriter::finish(), blender::bke::AttributeAccessor::foreach_attribute(), blender::index_mask::IndexMask::foreach_index(), blender::nodes::LazyFunctionForForeachGeometryElementZone::generation, blender::bke::GeometrySet::get_component_for_write(), blender::nodes::get_foreach_attribute_propagation_target_domain(), blender::GVArrayCommon::get_to_uninitialized(), blender::bke::GeometryComponent::GreasePencil, handle_generation_items_group_lazyness(), blender::bke::GeometrySet::has(), blender::bke::hash_to_anonymous_attribute_name(), bNode::identifier, NodeForeachGeometryElementGenerationItem::identifier, blender::IndexRange::index_range(), blender::bke::GeometryComponent::Instance, blender::bke::AttributeAccessor::is_builtin(), NodeForeachGeometryElementMainItems::items_num, blender::geometry::join_geometries(), blender::bke::GeometrySet::keep_only(), blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, blender::bke::AttributeAccessor::lookup(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, NodeGeometryForeachGeometryElementOutput::main_items, blender::nodes::make_anonymous_attribute_socket_inspection_string(), blender::bke::GeometryComponent::Mesh, blender::bke::AttributeIter::name, params, parent_, blender::bke::GeometryComponent::PointCloud, blender::GMutableSpan::size(), blender::IndexRange::size(), NodeForeachGeometryElementGenerationItem::socket_type, blender::bke::socket_type_to_geo_nodes_base_cpp_type(), blender::bke::GSpanAttributeWriter::span, bNode::storage, blender::bke::try_capture_field_on_geometry(), and blender::GVArrayCommon::type().
Referenced by handle_generation_item_groups().
| bool blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_generation_items_group_lazyness | ( | lf::Params & | params, |
| const lf::Context & | context, | ||
| int | geometry_item_i, | ||
| IndexRange | generation_items_range ) const |
Definition at line 3270 of file geometry_nodes_lazy_function.cc.
References eval_storage_, blender::nodes::LazyFunctionForForeachGeometryElementZone::generation, NodeForeachGeometryElementMainItems::items_num, blender::nodes::ForeachGeometryElementEvalStorage::lf_body_nodes, NodeGeometryForeachGeometryElementOutput::main_items, params, parent_, blender::nodes::set_default_value_for_output_socket(), blender::IndexRange::size(), and bNode::storage.
Referenced by handle_generation_items_group().
| int blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_invalid_generation_items | ( | lf::Params & | params | ) | const |
Definition at line 3018 of file geometry_nodes_lazy_function.cc.
References blender::nodes::LazyFunctionForForeachGeometryElementZone::generation, blender::bke::bNodeTreeZone::output_node, params, parent_, blender::nodes::set_default_value_for_output_socket(), SOCK_GEOMETRY, NodeForeachGeometryElementGenerationItem::socket_type, and bNode::storage.
Referenced by handle_generation_items().
| void blender::nodes::LazyFunctionForReduceForeachGeometryElement::handle_main_items_and_geometry | ( | lf::Params & | params, |
| const lf::Context & | context ) const |
Definition at line 2930 of file geometry_nodes_lazy_function.cc.
References blender::index_mask::IndexMask::complement(), blender::nodes::ForeachGeometryElementEvalStorage::components, blender::bke::SocketValueVariant::convert_to_single(), blender::CPPType::copy_construct(), blender::bke::cpp_type_to_custom_data_type(), blender::bke::AttributeAccessor::domain_size(), eval_storage_, blender::bke::SocketValueVariant::get_single_ptr_raw(), blender::bke::hash_to_anonymous_attribute_name(), bNode::identifier, NodeForeachGeometryElementMainItem::identifier, NodeForeachGeometryElementMainItems::items_num, blender::nodes::LazyFunctionForForeachGeometryElementZone::main, blender::nodes::ForeachGeometryElementEvalStorage::main_geometry, NodeGeometryForeachGeometryElementOutput::main_items, blender::nodes::make_anonymous_attribute_socket_inspection_string(), params, parent_, pos, NodeForeachGeometryElementMainItem::socket_type, blender::bke::socket_type_to_geo_nodes_base_cpp_type(), bNode::storage, and blender::CPPType::value_initialize_indices().
Referenced by execute_impl().
| ForeachGeometryElementEvalStorage& blender::nodes::LazyFunctionForReduceForeachGeometryElement::eval_storage_ |
Definition at line 2175 of file geometry_nodes_lazy_function.cc.
Referenced by handle_generation_items_group(), handle_generation_items_group_lazyness(), and handle_main_items_and_geometry().
| const LazyFunctionForForeachGeometryElementZone& blender::nodes::LazyFunctionForReduceForeachGeometryElement::parent_ |
Definition at line 2174 of file geometry_nodes_lazy_function.cc.
Referenced by execute_impl(), handle_generation_item_groups(), handle_generation_items(), handle_generation_items_group(), handle_generation_items_group_lazyness(), handle_invalid_generation_items(), handle_main_items_and_geometry(), and LazyFunctionForReduceForeachGeometryElement().