[Bf-blender-cvs] [6bc65ecfa68] gpencil-new-data-proposal: Remove uses of `GPStroke`

Falk David noreply at git.blender.org
Fri Dec 16 15:20:33 CET 2022


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)



More information about the Bf-blender-cvs mailing list