Blender V4.3
GEO_smooth_curves.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
7#include "BLI_generic_span.hh"
8#include "BLI_index_mask.hh"
10
11namespace blender::geometry {
12
22void gaussian_blur_1D(const GSpan src,
23 int iterations,
24 const VArray<float> &influence_by_point,
25 const bool smooth_ends,
26 const bool keep_shape,
27 const bool is_cyclic,
28 GMutableSpan dst);
29
33void smooth_curve_attribute(const IndexMask &curves_to_smooth,
34 const OffsetIndices<int> points_by_curve,
35 const VArray<bool> &point_selection,
36 const VArray<bool> &cyclic,
37 int iterations,
38 float influence,
39 bool smooth_ends,
40 bool keep_shape,
41 GMutableSpan attribute_data);
42
46void smooth_curve_attribute(const IndexMask &curves_to_smooth,
47 const OffsetIndices<int> points_by_curve,
48 const VArray<bool> &point_selection,
49 const VArray<bool> &cyclic,
50 int iterations,
51 const VArray<float> &influence_by_point,
52 bool smooth_ends,
53 bool keep_shape,
54 GMutableSpan attribute_data);
55
59void smooth_curve_positions(bke::CurvesGeometry &curves,
60 const IndexMask &curves_to_smooth,
61 int iterations,
62 const VArray<float> &influence_by_point,
63 bool smooth_ends,
64 bool keep_shape);
65void smooth_curve_positions(bke::CurvesGeometry &curves,
66 const IndexMask &curves_to_smooth,
67 int iterations,
68 float influence,
69 bool smooth_ends,
70 bool keep_shape);
71
72} // namespace blender::geometry
static bool is_cyclic(const Nurb *nu)
void smooth_curve_attribute(const IndexMask &curves_to_smooth, const OffsetIndices< int > points_by_curve, const VArray< bool > &point_selection, const VArray< bool > &cyclic, int iterations, float influence, bool smooth_ends, bool keep_shape, GMutableSpan attribute_data)
void smooth_curve_positions(bke::CurvesGeometry &curves, const IndexMask &curves_to_smooth, int iterations, const VArray< float > &influence_by_point, bool smooth_ends, bool keep_shape)
void gaussian_blur_1D(const GSpan src, int iterations, const VArray< float > &influence_by_point, const bool smooth_ends, const bool keep_shape, const bool is_cyclic, GMutableSpan dst)