BLI_polyfill2d_test: script to generate test data

This commit is contained in:
Campbell Barton 2017-09-20 13:39:31 +10:00
parent 77dccbf481
commit a2d246c5c0
Notes: blender-bot 2023-02-14 06:17:15 +01:00
Referenced by issue #53683, 2.79a release
1 changed files with 37 additions and 0 deletions

View File

@ -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)