|
Blender V5.0
|
Classes | |
| struct | SplitGroups |
Functions | |
| static void | node_declare (NodeDeclarationBuilder &b) |
| static void | node_layout (uiLayout *layout, bContext *, PointerRNA *ptr) |
| static void | ensure_group_geometries (Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id, const Span< int > group_ids) |
| static bool | do_common_split (const GeometryComponent &src_component, const AttrDomain domain, const Field< bool > &selection_field, const Field< int > &group_id_field, Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id, SplitGroups &r_groups) |
| static void | split_mesh_groups (const MeshComponent &component, const AttrDomain domain, const Field< bool > &selection_field, const Field< int > &group_id_field, const AttributeFilter &attribute_filter, Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id) |
| static void | split_pointcloud_groups (const PointCloudComponent &component, const Field< bool > &selection_field, const Field< int > &group_id_field, const AttributeFilter &attribute_filter, Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id) |
| static void | split_curve_groups (const bke::CurveComponent &component, const AttrDomain domain, const Field< bool > &selection_field, const Field< int > &group_id_field, const AttributeFilter &attribute_filter, Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id) |
| static void | split_instance_groups (const InstancesComponent &component, const Field< bool > &selection_field, const Field< int > &group_id_field, const AttributeFilter &attribute_filter, Map< int, std::unique_ptr< GeometrySet > > &geometry_by_group_id) |
| static void | node_geo_exec (GeoNodeExecParams params) |
| static void | node_rna (StructRNA *srna) |
| static void | node_register () |
|
staticnodiscard |
Definition at line 72 of file node_geo_split_to_instances.cc.
References blender::fn::FieldEvaluator::add(), blender::bke::GeometryComponent::attribute_domain_size(), ensure_group_geometries(), blender::fn::FieldEvaluator::evaluate(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::field_context, blender::nodes::node_geo_split_to_instances_cc::SplitGroups::field_evaluator, blender::IndexMask::from_group_ids(), blender::fn::FieldEvaluator::get_evaluated(), blender::fn::FieldEvaluator::get_evaluated_selection_as_mask(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_ids, blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_masks, blender::index_mask::IndexMask::is_empty(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::memory, and blender::fn::FieldEvaluator::set_selection().
Referenced by split_curve_groups(), split_instance_groups(), split_mesh_groups(), and split_pointcloud_groups().
|
static |
Definition at line 50 of file node_geo_split_to_instances.cc.
Referenced by do_common_split().
|
static |
Definition at line 25 of file node_geo_split_to_instances.cc.
References b, blender::nodes::SocketDeclaration::description, and blender::nodes::SocketDeclaration::hide_value.
Referenced by node_register().
|
static |
Definition at line 268 of file node_geo_split_to_instances.cc.
References blender::bke::Instances::add_reference(), blender::bke::Instances::attributes_for_write(), Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::begin(), bNode::custom1, blender::geometry::debug_randomize_instance_order(), ELEM, Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::end(), blender::array_utils::fill_index_range(), blender::bke::SpanAttributeWriter< T >::finish(), GeometrySet::from_instances(), blender::bke::GeometrySet::get_component(), blender::bke::GeometrySet::has_curves(), blender::bke::GeometrySet::has_instances(), blender::bke::GeometrySet::has_mesh(), blender::bke::GeometrySet::has_pointcloud(), blender::MatBase< float, 4, 4 >::identity(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::GeometrySet::name, node_geo_exec(), params, blender::bke::Instances::reference_handles_for_write(), blender::bke::Instances::resize(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size(), blender::bke::SpanAttributeWriter< T >::span, split_curve_groups(), split_instance_groups(), split_mesh_groups(), split_pointcloud_groups(), and blender::bke::Instances::transforms_for_write().
Referenced by node_geo_exec(), and node_register().
|
static |
Definition at line 43 of file node_geo_split_to_instances.cc.
References uiLayout::prop(), ptr, UI_ITEM_NONE, uiLayout::use_property_decorate_set(), and uiLayout::use_property_split_set().
Referenced by node_register().
|
static |
Definition at line 355 of file node_geo_split_to_instances.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons, blender::bke::bNodeType::enum_name_legacy, GEO_NODE_SPLIT_TO_INSTANCES, geo_node_type_base(), blender::bke::bNodeType::geometry_node_execute, blender::bke::bNodeType::nclass, NODE_CLASS_GEOMETRY, node_declare(), node_geo_exec(), node_layout(), node_register(), blender::bke::node_register_type(), node_rna(), blender::bke::bNodeType::rna_ext, ExtensionRNA::srna, blender::bke::bNodeType::ui_description, and blender::bke::bNodeType::ui_name.
Referenced by node_register().
|
static |
Definition at line 344 of file node_geo_split_to_instances.cc.
References NOD_inline_enum_accessors, node_rna(), blender::nodes::RNA_def_node_enum(), and rna_enum_attribute_domain_without_corner_items.
Referenced by node_register(), and node_rna().
|
static |
Definition at line 192 of file node_geo_split_to_instances.cc.
References do_common_split(), Curves::geometry, blender::bke::CurveComponent::get(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_ids, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::threading::parallel_for(), and split_curve_groups().
Referenced by node_geo_exec(), and split_curve_groups().
|
static |
Definition at line 225 of file node_geo_split_to_instances.cc.
References do_common_split(), blender::bke::InstancesComponent::get(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_ids, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::threading::parallel_for(), and split_instance_groups().
Referenced by node_geo_exec(), and split_instance_groups().
|
static |
Definition at line 101 of file node_geo_split_to_instances.cc.
References blender::bke::GeometryComponent::attribute_domain_size(), do_common_split(), blender::bke::MeshComponent::get(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_masks, and blender::threading::parallel_for().
Referenced by node_geo_exec().
|
static |
Definition at line 153 of file node_geo_split_to_instances.cc.
References do_common_split(), blender::bke::PointCloudComponent::get(), blender::nodes::node_geo_split_to_instances_cc::SplitGroups::group_ids, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::threading::parallel_for(), and split_pointcloud_groups().
Referenced by node_geo_exec(), and split_pointcloud_groups().