|
Blender V4.3
|
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 71 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::index_mask::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::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 49 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::bke::GeometryComponent::Curve, blender::nodes::SocketDeclaration::description, blender::nodes::SocketDeclaration::hide_value, blender::bke::GeometryComponent::Instance, blender::bke::GeometryComponent::Mesh, and blender::bke::GeometryComponent::PointCloud.
Referenced by node_register().
|
static |
Definition at line 267 of file node_geo_split_to_instances.cc.
References blender::bke::Instances::add_reference(), blender::bke::Instances::attributes_for_write(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::begin(), ELEM, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::BaseIteratorRange< SubIterator >::end(), blender::bke::SpanAttributeWriter< T >::finish(), 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::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 42 of file node_geo_split_to_instances.cc.
References ptr, UI_ITEM_NONE, uiItemR(), uiLayoutSetPropDecorate(), and uiLayoutSetPropSep().
Referenced by node_register().
|
static |
Definition at line 354 of file node_geo_split_to_instances.cc.
References blender::bke::bNodeType::declare, blender::bke::bNodeType::draw_buttons, geo_node_type_base(), blender::bke::bNodeType::geometry_node_execute, NODE_CLASS_GEOMETRY, node_declare(), node_geo_exec(), node_layout(), node_register(), blender::bke::node_register_type(), node_rna(), blender::bke::bNodeType::rna_ext, and ExtensionRNA::srna.
Referenced by node_register().
|
static |
Definition at line 343 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 191 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, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), and split_curve_groups().
Referenced by node_geo_exec(), and split_curve_groups().
|
static |
Definition at line 224 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, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), and split_instance_groups().
Referenced by node_geo_exec(), and split_instance_groups().
|
static |
Definition at line 100 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 152 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, blender::VectorSet< Key, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), and split_pointcloud_groups().
Referenced by node_geo_exec(), and split_pointcloud_groups().