[Bf-blender-cvs] [a2d246c5c0b] master: BLI_polyfill2d_test: script to generate test data

Campbell Barton noreply at git.blender.org
Wed Sep 20 05:31:37 CEST 2017


Commit: a2d246c5c0b6abffc1f12f288bfe275121fb943e
Author: Campbell Barton
Date:   Wed Sep 20 13:39:31 2017 +1000
Branches: master
https://developer.blender.org/rBa2d246c5c0b6abffc1f12f288bfe275121fb943e

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 ca3a67bd0a7..df98ead4cb9 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