Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-11-27 03:18:04 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-11-27 03:18:04 +0400
commitf9e339ef005144ace447d686c4cecaa66f40cf1c (patch)
tree51b59de937a668e881f2cc0481becd04c66c92eb /source/blender/blenlib/BLI_scanfill.h
parentceed3ef640bb40e1232feeb409220fe19011bc43 (diff)
fix/workaround [#33281] script goes into not responding
scanfill remove-doubles pass assumes ordered edges (as with curves), otherwise it can hang. workaround this problem by skipping removing-doubles for mesh ngons, since this isnt such a common case as it is with curves and we can just not support it.
Diffstat (limited to 'source/blender/blenlib/BLI_scanfill.h')
-rw-r--r--source/blender/blenlib/BLI_scanfill.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenlib/BLI_scanfill.h b/source/blender/blenlib/BLI_scanfill.h
index 892afdd0b27..c8fd72bbbd2 100644
--- a/source/blender/blenlib/BLI_scanfill.h
+++ b/source/blender/blenlib/BLI_scanfill.h
@@ -94,9 +94,18 @@ typedef struct ScanFillFace {
struct ScanFillVert *BLI_scanfill_vert_add(ScanFillContext *sf_ctx, const float vec[3]);
struct ScanFillEdge *BLI_scanfill_edge_add(ScanFillContext *sf_ctx, struct ScanFillVert *v1, struct ScanFillVert *v2);
+enum {
+ BLI_SCANFILL_CALC_QUADTRI_FASTPATH = (1 << 0),
+
+ /* note: using BLI_SCANFILL_CALC_REMOVE_DOUBLES
+ * Assumes ordered edges, otherwise we risk an eternal loop
+ * removing double verts. - campbell */
+ BLI_SCANFILL_CALC_REMOVE_DOUBLES = (1 << 1),
+};
+
int BLI_scanfill_begin(ScanFillContext *sf_ctx);
-int BLI_scanfill_calc(ScanFillContext *sf_ctx, const short do_quad_tri_speedup);
-int BLI_scanfill_calc_ex(ScanFillContext *sf_ctx, const short do_quad_tri_speedup,
+int BLI_scanfill_calc(ScanFillContext *sf_ctx, const int flag);
+int BLI_scanfill_calc_ex(ScanFillContext *sf_ctx, const int flag,
const float nor_proj[3]);
void BLI_scanfill_end(ScanFillContext *sf_ctx);