diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-12-09 14:19:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-12-09 14:19:26 +0300 |
commit | 6076bedec002b92e5f316a15a45a8cdaf686aa33 (patch) | |
tree | b2caf79aca16bb3c10f455d09f0cfd6217233d05 /source/blender/bmesh | |
parent | 83cbcefac8349d5ff46b721318ca180dd8817af5 (diff) |
Cleanup: remove scanfill define for polyfill code
also rename vars which were previously used for scanfill.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r-- | source/blender/bmesh/intern/bmesh_polygon.c | 18 | ||||
-rw-r--r-- | source/blender/bmesh/intern/bmesh_polygon.h | 13 | ||||
-rw-r--r-- | source/blender/bmesh/tools/bmesh_triangulate.c | 41 |
3 files changed, 44 insertions, 28 deletions
diff --git a/source/blender/bmesh/intern/bmesh_polygon.c b/source/blender/bmesh/intern/bmesh_polygon.c index 4a1ab86a3fc..4733265d5b4 100644 --- a/source/blender/bmesh/intern/bmesh_polygon.c +++ b/source/blender/bmesh/intern/bmesh_polygon.c @@ -742,13 +742,15 @@ bool BM_face_point_inside_test(BMFace *f, const float co[3]) * * \note use_tag tags new flags and edges. */ -void BM_face_triangulate(BMesh *bm, BMFace *f, - BMFace **r_faces_new, - int *r_faces_new_tot, - MemArena *sf_arena, - const int quad_method, - const int ngon_method, - const bool use_tag) +void BM_face_triangulate( + BMesh *bm, BMFace *f, + BMFace **r_faces_new, + int *r_faces_new_tot, + const int quad_method, + const int ngon_method, + const bool use_tag, + + MemArena *pf_arena) { BMLoop *l_iter, *l_first, *l_new; BMFace *f_new; @@ -854,7 +856,7 @@ void BM_face_triangulate(BMesh *bm, BMFace *f, } BLI_polyfill_calc_arena((const float (*)[2])projverts, f->len, -1, tris, - sf_arena); + pf_arena); if (use_beauty) { edge_array = BLI_array_alloca(edge_array, orig_f_len - 3); diff --git a/source/blender/bmesh/intern/bmesh_polygon.h b/source/blender/bmesh/intern/bmesh_polygon.h index d62c81c4052..8c81b456b08 100644 --- a/source/blender/bmesh/intern/bmesh_polygon.h +++ b/source/blender/bmesh/intern/bmesh_polygon.h @@ -56,12 +56,13 @@ void BM_vert_normal_update_all(BMVert *v) ATTR_NONNULL(); void BM_face_normal_flip(BMesh *bm, BMFace *f) ATTR_NONNULL(); bool BM_face_point_inside_test(BMFace *f, const float co[3]) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); -void BM_face_triangulate(BMesh *bm, BMFace *f, - BMFace **r_faces_new, - int *r_faces_new_tot, - struct MemArena *sf_arena, - const int quad_method, const int ngon_method, - const bool use_tag) ATTR_NONNULL(1, 2); +void BM_face_triangulate( + BMesh *bm, BMFace *f, + BMFace **r_faces_new, + int *r_faces_new_tot, + const int quad_method, const int ngon_method, + const bool use_tag, + struct MemArena *pf_arena) ATTR_NONNULL(1, 2); void BM_face_splits_check_legal(BMesh *bm, BMFace *f, BMLoop *(*loops)[2], int len) ATTR_NONNULL(); void BM_face_splits_check_optimal(BMFace *f, BMLoop *(*loops)[2], int len) ATTR_NONNULL(); diff --git a/source/blender/bmesh/tools/bmesh_triangulate.c b/source/blender/bmesh/tools/bmesh_triangulate.c index 446c03a543f..f9270646b6b 100644 --- a/source/blender/bmesh/tools/bmesh_triangulate.c +++ b/source/blender/bmesh/tools/bmesh_triangulate.c @@ -33,7 +33,7 @@ #include "BLI_alloca.h" #include "BLI_memarena.h" #include "BLI_listbase.h" -#include "BLI_scanfill.h" +#include "BLI_polyfill2d.h" /* only for define */ #include "bmesh.h" @@ -42,16 +42,22 @@ /** * a version of #BM_face_triangulate that maps to #BMOpSlot */ -static void bm_face_triangulate_mapping(BMesh *bm, BMFace *face, MemArena *sf_arena, - const int quad_method, const int ngon_method, - const bool use_tag, - BMOperator *op, BMOpSlot *slot_facemap_out) +static void bm_face_triangulate_mapping( + BMesh *bm, BMFace *face, + const int quad_method, const int ngon_method, + const bool use_tag, + BMOperator *op, BMOpSlot *slot_facemap_out, + + MemArena *pf_arena) { int faces_array_tot = face->len - 3; BMFace **faces_array = BLI_array_alloca(faces_array, faces_array_tot); BLI_assert(face->len > 3); - BM_face_triangulate(bm, face, faces_array, &faces_array_tot, sf_arena, quad_method, ngon_method, use_tag); + BM_face_triangulate( + bm, face, faces_array, &faces_array_tot, + quad_method, ngon_method, use_tag, + pf_arena); if (faces_array_tot) { int i; @@ -63,22 +69,26 @@ static void bm_face_triangulate_mapping(BMesh *bm, BMFace *face, MemArena *sf_ar } -void BM_mesh_triangulate(BMesh *bm, const int quad_method, const int ngon_method, const bool tag_only, - BMOperator *op, BMOpSlot *slot_facemap_out) +void BM_mesh_triangulate( + BMesh *bm, const int quad_method, const int ngon_method, const bool tag_only, + BMOperator *op, BMOpSlot *slot_facemap_out) { BMIter iter; BMFace *face; - MemArena *sf_arena; + MemArena *pf_arena; - sf_arena = BLI_memarena_new(BLI_SCANFILL_ARENA_SIZE, __func__); + pf_arena = BLI_memarena_new(BLI_POLYFILL_ARENA_SIZE, __func__); if (slot_facemap_out) { /* same as below but call: bm_face_triangulate_mapping() */ BM_ITER_MESH (face, &iter, bm, BM_FACES_OF_MESH) { if (face->len > 3) { if (tag_only == false || BM_elem_flag_test(face, BM_ELEM_TAG)) { - bm_face_triangulate_mapping(bm, face, sf_arena, quad_method, ngon_method, tag_only, - op, slot_facemap_out); + bm_face_triangulate_mapping( + bm, face, quad_method, + ngon_method, tag_only, + op, slot_facemap_out, + pf_arena); } } } @@ -87,11 +97,14 @@ void BM_mesh_triangulate(BMesh *bm, const int quad_method, const int ngon_method BM_ITER_MESH (face, &iter, bm, BM_FACES_OF_MESH) { if (face->len > 3) { if (tag_only == false || BM_elem_flag_test(face, BM_ELEM_TAG)) { - BM_face_triangulate(bm, face, NULL, NULL, sf_arena, quad_method, ngon_method, tag_only); + BM_face_triangulate( + bm, face, NULL, NULL, + quad_method, ngon_method, tag_only, + pf_arena); } } } } - BLI_memarena_free(sf_arena); + BLI_memarena_free(pf_arena); } |