Blender V4.3
GEO_reorder.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
8#include "BLI_span.hh"
9
11#include "BKE_attribute.hh"
12#include "BKE_curves.hh"
13#include "BKE_geometry_set.hh"
14
15namespace blender::geometry {
16
17const MultiValueMap<bke::GeometryComponent::Type, bke::AttrDomain> &
19
20Mesh *reorder_mesh(const Mesh &src_mesh,
21 Span<int> old_by_new_map,
22 bke::AttrDomain domain,
23 const bke::AttributeFilter &attribute_filter);
24
25PointCloud *reorder_points(const PointCloud &src_pointcloud,
26 Span<int> old_by_new_map,
27 const bke::AttributeFilter &attribute_filter);
28
29bke::CurvesGeometry reorder_curves_geometry(const bke::CurvesGeometry &src_curves,
30 Span<int> old_by_new_map,
31 const bke::AttributeFilter &attribute_filter);
32
33Curves *reorder_curves(const Curves &src_curves,
34 Span<int> old_by_new_map,
35 const bke::AttributeFilter &attribute_filter);
36
37bke::Instances *reorder_instaces(const bke::Instances &src_instances,
38 Span<int> old_by_new_map,
39 const bke::AttributeFilter &attribute_filter);
40
41bke::GeometryComponentPtr reordered_component(const bke::GeometryComponent &src_component,
42 Span<int> old_by_new_map,
43 bke::AttrDomain domain,
44 const bke::AttributeFilter &attribute_filter);
45
46}; // namespace blender::geometry
Low-level operations for curves.
ImplicitSharingPtr< GeometryComponent > GeometryComponentPtr
Mesh * reorder_mesh(const Mesh &src_mesh, Span< int > old_by_new_map, bke::AttrDomain domain, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:237
PointCloud * reorder_points(const PointCloud &src_pointcloud, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:248
bke::CurvesGeometry reorder_curves_geometry(const bke::CurvesGeometry &src_curves, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:258
const MultiValueMap< bke::GeometryComponent::Type, bke::AttrDomain > & components_supported_reordering()
Definition reorder.cc:27
bke::GeometryComponentPtr reordered_component(const bke::GeometryComponent &src_component, Span< int > old_by_new_map, bke::AttrDomain domain, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:289
bke::Instances * reorder_instaces(const bke::Instances &src_instances, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:279
Curves * reorder_curves(const Curves &src_curves, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:268