[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