[Bf-blender-cvs] [9e18fcbb36b] blender-v2.79a-release: BLI_polyfill2d_test: script to generate test data

Campbell Barton noreply at git.blender.org
Wed Jan 3 12:48:15 CET 2018


Commit: 9e18fcbb36b4a2416efc9cec08c57d22df3867b2
Author: Campbell Barton
Date:   Wed Sep 20 13:39:31 2017 +1000
Branches: blender-v2.79a-release
https://developer.blender.org/rB9e18fcbb36b4a2416efc9cec08c57d22df3867b2

BLI_polyfill2d_test: script to generate test data

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

M	tests/gtests/blenlib/BLI_polyfill2d_test.cc

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

diff --git a/tests/gtests/blenlib/BLI_polyfill2d_test.cc b/tests/gtests/blenlib/BLI_polyfill2d_test.cc
index 5f10837fca1..e887f12b6d0 100644
--- a/tests/gtests/blenlib/BLI_polyfill2d_test.cc
+++ b/tests/gtests/blenlib/BLI_polyfill2d_test.cc
@@ -329,6 +329,43 @@ static void polyfill_to_obj(
 /* -------------------------------------------------------------------- */
 /* tests */
 
+/**
+ * Script to generate the data below:
+ *
+ * \code{.py}
+ * # This example assumes we have a mesh object in edit-mode
+ *
+ * import bpy
+ * import bmesh
+ *
+ * obj = bpy.context.edit_object
+ * me = obj.data
+ * bm = bmesh.from_edit_mesh(me)
+ *
+ * def clean_float(num):
+ *     if int(num) == num:
+ *         return str(int(num))
+ *     prec = 1
+ *     while True:
+ *         text = f"{num:.{prec}f}"
+ *         if float(text) == num:
+ *             return text
+ *         prec += 1
+ *
+ * for f in bm.faces:
+ *     if f.select:
+ *         print(f"\t// data for face: {f.index}")
+ *         print("\tconst float poly[][2] = {", end="")
+ *         coords = [[clean_float(num) for num in l.vert.co[0:2]] for l in f.loops]
+ *         print("\t    ", end="")
+ *         for i, (x, y) in enumerate(coords):
+ *             if (i % 2) == 0:
+ *                 print("\n\t    ", end="")
+ *             print(f"{{{x}, {y}}}", end=",")
+ *         print("\n\t};")
+ * \endcode
+ */
+
 #define POLY_TRI_COUNT(len) ((len) - 2)



More information about the Bf-blender-cvs mailing list