Cleanup: remove scanfill define for polyfill code
also rename vars which were previously used for scanfill.
This commit is contained in:
@@ -37,4 +37,7 @@ void BLI_polyfill_calc(
|
||||
const int coords_sign,
|
||||
unsigned int (*r_tris)[3]);
|
||||
|
||||
/* default size of polyfill arena */
|
||||
#define BLI_POLYFILL_ARENA_SIZE MEM_SIZE_OPTIMAL(1 << 14)
|
||||
|
||||
#endif /* __BLI_POLYFILL2D_H__ */
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user