Blender V5.0
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
10#include "BKE_attribute.hh"
11#include "BKE_curves.hh"
12#include "BKE_geometry_set.hh"
13
14namespace blender::geometry {
15
16const MultiValueMap<bke::GeometryComponent::Type, bke::AttrDomain> &
18
19Mesh *reorder_mesh(const Mesh &src_mesh,
20 Span<int> old_by_new_map,
21 bke::AttrDomain domain,
22 const bke::AttributeFilter &attribute_filter);
23
24PointCloud *reorder_points(const PointCloud &src_pointcloud,
25 Span<int> old_by_new_map,
26 const bke::AttributeFilter &attribute_filter);
27
28bke::CurvesGeometry reorder_curves_geometry(const bke::CurvesGeometry &src_curves,
29 Span<int> old_by_new_map,
30 const bke::AttributeFilter &attribute_filter);
31
32Curves *reorder_curves(const Curves &src_curves,
33 Span<int> old_by_new_map,
34 const bke::AttributeFilter &attribute_filter);
35
36bke::Instances *reorder_instaces(const bke::Instances &src_instances,
37 Span<int> old_by_new_map,
38 const bke::AttributeFilter &attribute_filter);
39
40bke::GeometryComponentPtr reordered_component(const bke::GeometryComponent &src_component,
41 Span<int> old_by_new_map,
42 bke::AttrDomain domain,
43 const bke::AttributeFilter &attribute_filter);
44
45}; // namespace blender::geometry
Low-level operations for curves.
struct Curves Curves
struct Mesh Mesh
struct PointCloud PointCloud
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:327
PointCloud * reorder_points(const PointCloud &src_pointcloud, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:339
bke::CurvesGeometry reorder_curves_geometry(const bke::CurvesGeometry &src_curves, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:348
const MultiValueMap< bke::GeometryComponent::Type, bke::AttrDomain > & components_supported_reordering()
Definition reorder.cc:29
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:379
bke::Instances * reorder_instaces(const bke::Instances &src_instances, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:370
Curves * reorder_curves(const Curves &src_curves, Span< int > old_by_new_map, const bke::AttributeFilter &attribute_filter)
Definition reorder.cc:359