37 lines
970 B
C++
37 lines
970 B
C++
/* SPDX-FileCopyrightText: 2023 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
#pragma once
|
|
|
|
#include "BLI_index_mask.hh"
|
|
|
|
#include "BKE_curves.hh"
|
|
|
|
struct Mesh;
|
|
|
|
/** \file
|
|
* \ingroup geo
|
|
*/
|
|
|
|
namespace blender::geometry {
|
|
|
|
/**
|
|
* Convert the mesh into one or many poly curves. Since curves cannot have branches,
|
|
* intersections of more than three edges will become breaks in curves. Attributes that
|
|
* are not built-in on meshes and not curves are transferred to the result curve.
|
|
*/
|
|
bke::CurvesGeometry mesh_to_curve_convert(
|
|
const Mesh &mesh,
|
|
const IndexMask &selection,
|
|
const bke::AnonymousAttributePropagationInfo &propagation_info);
|
|
|
|
bke::CurvesGeometry create_curve_from_vert_indices(
|
|
const bke::AttributeAccessor &mesh_attributes,
|
|
Span<int> vert_indices,
|
|
Span<int> curve_offsets,
|
|
IndexRange cyclic_curves,
|
|
const bke::AnonymousAttributePropagationInfo &propagation_info);
|
|
|
|
} // namespace blender::geometry
|