[Bf-blender-cvs] [9693aeb0034] gpencil-new-data-proposal: WIP: Add new proposal test file

Falk David noreply at git.blender.org
Tue May 10 12:25:31 CEST 2022


Commit: 9693aeb0034af23e18453370943e7318566acb09
Author: Falk David
Date:   Sun Apr 10 11:57:06 2022 +0200
Branches: gpencil-new-data-proposal
https://developer.blender.org/rB9693aeb0034af23e18453370943e7318566acb09

WIP: Add new proposal test file

===================================================================

M	source/blender/blenkernel/CMakeLists.txt
A	source/blender/blenkernel/intern/gpencil_new_proposal_test.cc

===================================================================

diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index aca8cdf916e..ea37513ba7f 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -819,6 +819,7 @@ if(WITH_GTESTS)
     intern/cryptomatte_test.cc
     intern/curves_geometry_test.cc
     intern/fcurve_test.cc
+    intern/gpencil_new_proposal_test.cc
     intern/idprop_serialize_test.cc
     intern/image_partial_update_test.cc
     intern/image_test.cc
diff --git a/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc b/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc
new file mode 100644
index 00000000000..8d690bd0f15
--- /dev/null
+++ b/source/blender/blenkernel/intern/gpencil_new_proposal_test.cc
@@ -0,0 +1,64 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/** \file
+ * \ingroup bke
+ */
+
+#include "BKE_curves.hh"
+
+#include "testing/testing.h"
+
+namespace blender::bke::gpencil {
+
+typedef struct bGPdata bGPdata;
+
+class GPencilFrame : public CurvesGeometry {
+  public:
+  GPencilFrame() {};
+  ~GPencilFrame() = default;
+
+  CurvesGeometry &as_curves_geometry()
+  {
+    CurvesGeometry *geometry = reinterpret_cast<CurvesGeometry *>(this);
+    return *geometry;
+  }
+
+  bool bounds_min_max(float3 &min, float3 &max) 
+  {
+    return as_curves_geometry().bounds_min_max(min, max);
+  }
+};
+
+// class GPencilData : bGPdata {
+// public:
+//   GPencilData();
+//   ~GPencilData();
+// };
+
+struct bGPdata {
+  ID id;
+  /* Animation data (must be immediately after id). */
+  struct AnimData *adt;
+
+  CurvesGeometry *frames;
+  int frames_size;
+  CustomData frame_data;
+
+
+  /** Materials array. */
+  struct Material **mat;
+  /** Total materials. */
+  short totcol;
+};
+
+namespace tests {
+
+TEST(gpencil_proposal, Foo) {
+  using namespace blender::bke::gpencil;
+  GPencilFrame my_frame;
+  float3 min, max;
+  EXPECT_FALSE(my_frame.bounds_min_max(min, max));
+}
+
+} // namespace tests
+} // namespace blender::bke::gpencil
\ No newline at end of file



More information about the Bf-blender-cvs mailing list