Commit: 6bc65ecfa688c7f66a21da954e35811ce013a8ad Author: Falk David Date: Fri Dec 16 15:20:23 2022 +0100 Branches: gpencil-new-data-proposal https://developer.blender.org/rB6bc65ecfa688c7f66a21da954e35811ce013a8ad
Remove uses of `GPStroke` Use an `IndexRange` as a return value for `GPFrame::add_new_stroke`. =================================================================== M source/blender/blenkernel/intern/gpencil_new_proposal.cc M source/blender/blenkernel/intern/gpencil_new_proposal.hh M source/blender/blenkernel/intern/gpencil_new_proposal_test.cc =================================================================== diff --git a/source/blender/blenkernel/intern/gpencil_new_proposal.cc b/source/blender/blenkernel/intern/gpencil_new_proposal.cc index 92be1059619..c3d6ada6071 100644 --- a/source/blender/blenkernel/intern/gpencil_new_proposal.cc +++ b/source/blender/blenkernel/intern/gpencil_new_proposal.cc @@ -50,6 +50,7 @@ IndexMask GPLayerGroup::layers_index_mask() } /* GPStroke */ +#if 0 Span<float3> GPStroke::points_positions() const { return {geometry_->positions().begin() + offset_, points_num_}; @@ -69,6 +70,7 @@ void GPStroke::transform(float4x4 matrix) } }); } +#endif /* GPFrame */ GPFrame::GPFrame(int layer_index) @@ -197,18 +199,7 @@ int GPFrame::points_num() const return this->strokes->point_num; } -Vector<GPStroke> GPFrame::strokes_for_write() -{ - Vector<GPStroke> strokes; - for (const int i : this->strokes_as_curves().offsets().drop_back(1).index_range()) { - int offset = this->strokes_as_curves().offsets()[i]; - int length = this->strokes_as_curves().offsets()[i + 1] - offset; - strokes.append({reinterpret_cast<CurvesGeometry *>(this->strokes), length, offset}); - } - return strokes; -} - -GPStroke GPFrame::add_new_stroke(int new_points_num) +IndexRange GPFrame::add_new_stroke(int new_points_num) { CurvesGeometry &strokes = this->strokes_as_curves(); int orig_last_offset = strokes.offsets().last(); @@ -220,7 +211,7 @@ GPStroke GPFrame::add_new_stroke(int new_points_num) strokes.curve_types_for_write().last() = CURVE_TYPE_POLY; strokes.tag_topology_changed(); - return {reinterpret_cast<CurvesGeometry *>(this->strokes), new_points_num, orig_last_offset}; + return {orig_last_offset, new_points_num}; } /* GPLayer */ diff --git a/source/blender/blenkernel/intern/gpencil_new_proposal.hh b/source/blender/blenkernel/intern/gpencil_new_proposal.hh index 6c485b897e1..526a1783f3b 100644 --- a/source/blender/blenkernel/intern/gpencil_new_proposal.hh +++ b/source/blender/blenkernel/intern/gpencil_new_proposal.hh @@ -196,6 +196,7 @@ class GPDataRuntime { * of where to find the stroke in the frame and it's size. * This class is only meant to facilitate the handling of individual strokes. */ +#if 0 class GPStroke { public: GPStroke(CurvesGeometry *geometry, int num_points, int offset) @@ -225,6 +226,7 @@ class GPStroke { int points_num_ = 0; int offset_; }; +#endif class GPFrame : public ::GPFrame { @@ -261,8 +263,7 @@ class GPFrame : public ::GPFrame { int strokes_num() const; int points_num() const; - Vector<GPStroke> strokes_for_write(); - GPStroke add_new_stroke(int new_points_num); + IndexRange add_new_stroke(int new_points_num); constexpr GPFrameKey get_frame_key() const { diff --git a/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc b/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc index befd94eacd0..6c5e1802e0e 100644 --- a/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc +++ b/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc @@ -399,11 +399,12 @@ TEST(gpencil_proposal, AddSingleStroke) const int frame_index = data.add_frame_on_layer(layer1_index, 0); EXPECT_NE(frame_index, -1); - GPStroke stroke = data.frames_for_write(frame_index).add_new_stroke(100); + + IndexRange point_indices = data.frames_for_write(frame_index).add_new_stroke(100); EXPECT_EQ(data.strokes_num(), 1); EXPECT_EQ(data.frames(frame_index).strokes_num(), 1); - EXPECT_EQ(stroke.points_num(), 100); + EXPECT_EQ(point_indices.size(), 100); } TEST(gpencil_proposal, ChangeStrokePoints) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs