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.
This commit is contained in:
Hans Goudey 2021-06-15 16:31:08 -05:00
parent 732e8c723e
commit c29afa5156
2 changed files with 10 additions and 10 deletions

View File

@ -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;
};
/**

View File

@ -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 {