diff options
author | Hans Goudey <h.goudey@me.com> | 2021-06-16 00:31:08 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2021-06-16 00:31:08 +0300 |
commit | c29afa5156596addf2b9aa61d2f58da6db0b4ec4 (patch) | |
tree | 97c04c70537eb1866b91c33ca0c984f673501451 /source/blender | |
parent | 732e8c723e5b677f371bfb6425986ac22386f93a (diff) |
Cleanup: Expose function publicly, rename
There is no particular reason these two functions shouldn't be used
outside of the bezier spline implementation since they don't do anything
particularly controversial.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/BKE_spline.hh | 9 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/spline_bezier.cc | 11 |
2 files changed, 10 insertions, 10 deletions
diff --git a/source/blender/blenkernel/BKE_spline.hh b/source/blender/blenkernel/BKE_spline.hh index ac970b23f14..5e88dd02bdd 100644 --- a/source/blender/blenkernel/BKE_spline.hh +++ b/source/blender/blenkernel/BKE_spline.hh @@ -337,13 +337,14 @@ class BezierSpline final : public Spline { virtual blender::fn::GVArrayPtr interpolate_to_evaluated_points( const blender::fn::GVArray &source_data) const override; + void evaluate_segment(const int index, + const int next_index, + blender::MutableSpan<blender::float3> positions) const; + bool segment_is_vector(const int start_index) const; + private: void ensure_auto_handles() const; void correct_end_tangents() const final; - bool segment_is_vector(const int start_index) const; - void evaluate_bezier_segment(const int index, - const int next_index, - blender::MutableSpan<blender::float3> positions) const; }; /** diff --git a/source/blender/blenkernel/intern/spline_bezier.cc b/source/blender/blenkernel/intern/spline_bezier.cc index 3e421dcfc13..bd68d49df21 100644 --- a/source/blender/blenkernel/intern/spline_bezier.cc +++ b/source/blender/blenkernel/intern/spline_bezier.cc @@ -352,9 +352,9 @@ static void bezier_forward_difference_3d(const float3 &point_0, } } -void BezierSpline::evaluate_bezier_segment(const int index, - const int next_index, - MutableSpan<float3> positions) const +void BezierSpline::evaluate_segment(const int index, + const int next_index, + MutableSpan<float3> positions) const { if (this->segment_is_vector(index)) { BLI_assert(positions.size() == 1); @@ -499,12 +499,11 @@ Span<float3> BezierSpline::evaluated_positions() const const int grain_size = std::max(512 / resolution_, 1); parallel_for(IndexRange(size - 1), grain_size, [&](IndexRange range) { for (const int i : range) { - this->evaluate_bezier_segment( - i, i + 1, positions.slice(offsets[i], offsets[i + 1] - offsets[i])); + this->evaluate_segment(i, i + 1, positions.slice(offsets[i], offsets[i + 1] - offsets[i])); } }); if (is_cyclic_) { - this->evaluate_bezier_segment( + this->evaluate_segment( size - 1, 0, positions.slice(offsets[size - 1], offsets[size] - offsets[size - 1])); } else { |