26 const VArray<float> &influence_by_point,
27 const bool smooth_ends,
28 const bool keep_shape,
36 const OffsetIndices<int> points_by_curve,
37 const VArray<bool> &point_selection,
38 const VArray<bool> &cyclic,
43 GMutableSpan attribute_data);
49 const OffsetIndices<int> points_by_curve,
50 const VArray<bool> &point_selection,
51 const VArray<bool> &cyclic,
53 const VArray<float> &influence_by_point,
56 GMutableSpan attribute_data);
62 const IndexMask &curves_to_smooth,
63 const VArray<bool> &point_selection,
65 const VArray<float> &influence_by_point,
69 const IndexMask &curves_to_smooth,
70 const VArray<bool> &point_selection,
Low-level operations for curves.
static bool is_cyclic(const Nurb *nu)
void smooth_curve_positions(bke::CurvesGeometry &curves, const IndexMask &curves_to_smooth, const VArray< bool > &point_selection, int iterations, const VArray< float > &influence_by_point, bool smooth_ends, bool keep_shape)
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 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)