[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