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:
authorRohan Rathi <rohanrathi08@gmail.com>2018-07-02 19:17:15 +0300
committerRohan Rathi <rohanrathi08@gmail.com>2018-07-02 19:17:15 +0300
commit74ace41160bd6e98c904b34e5efe0893b1719387 (patch)
tree123e8d819221be124ec79a35f937b7562acf019f /source/blender/bmesh
parent0c25881c391b84e238fa9503ec8c6a6fa0e2e439 (diff)
Minor cleanup and fixed normal updating erasing entire mesh
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/tools/bmesh_bevel.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/source/blender/bmesh/tools/bmesh_bevel.c b/source/blender/bmesh/tools/bmesh_bevel.c
index bf32e8e6970..9259be7b240 100644
--- a/source/blender/bmesh/tools/bmesh_bevel.c
+++ b/source/blender/bmesh/tools/bmesh_bevel.c
@@ -37,7 +37,6 @@
#include "BLI_array.h"
#include "BLI_alloca.h"
-#include "BLI_bitmap.h"
#include "BLI_gsqueue.h"
#include "BLI_math.h"
#include "BLI_memarena.h"
@@ -1538,12 +1537,12 @@ static void check_edge_data_seam_sharp_edges(BevVert *bv, int flag, bool neg)
{
EdgeHalf *e = &bv->edges[0], *efirst = &bv->edges[0];
- while (neg ^ !EDGE_DATA_CHECK(e, flag)) {
+ while ((!neg && !EDGE_DATA_CHECK(e, flag) || (neg && EDGE_DATA_CHECK(e, flag)))) {
e = e->next;
if (e == efirst)
break;
}
- if (neg ^ !EDGE_DATA_CHECK(e, flag))
+ if ((!neg && !EDGE_DATA_CHECK(e, flag) || (neg && EDGE_DATA_CHECK(e, flag))))
return;
efirst = e;
@@ -1551,12 +1550,13 @@ static void check_edge_data_seam_sharp_edges(BevVert *bv, int flag, bool neg)
int flag_count = 0;
EdgeHalf *ne = e->next;
- while ((neg ^ !EDGE_DATA_CHECK(ne, flag)) && ne != efirst) {
+ while ((!neg && !EDGE_DATA_CHECK(e, flag) || (neg && EDGE_DATA_CHECK(e, flag))) && ne != efirst) {
if (ne->is_bev)
flag_count++;
ne = ne->next;
}
- if (ne == e || (ne == efirst && (neg ^ !EDGE_DATA_CHECK(efirst, flag)))) {
+ if (ne == e || (ne == efirst && (!neg && !EDGE_DATA_CHECK(e, flag) ||
+ (neg && EDGE_DATA_CHECK(e, flag))))) {
break;
}
if (flag == BM_ELEM_SEAM)
@@ -5736,14 +5736,14 @@ void BM_mesh_bevel(
}
}
- GHASH_ITER(giter, bp.vert_hash) {
- bv = BLI_ghashIterator_getValue(&giter);
- bevel_extend_edge_data(bv);
- if(bm->use_toolflags)
+ if (bm->use_toolflags) {
+ GHASH_ITER(giter, bp.vert_hash) {
+ bv = BLI_ghashIterator_getValue(&giter);
+ bevel_extend_edge_data(bv);
bevel_harden_normals_mode(bm, &bp, bv, op);
+ }
}
-
/* Rebuild face polygons around affected vertices */
BM_ITER_MESH (v, &iter, bm, BM_VERTS_OF_MESH) {
if (BM_elem_flag_test(v, BM_ELEM_TAG)) {
@@ -5752,6 +5752,13 @@ void BM_mesh_bevel(
}
}
+ BM_ITER_MESH_MUTABLE (v, v_next, &iter, bm, BM_VERTS_OF_MESH) {
+ if (BM_elem_flag_test(v, BM_ELEM_TAG)) {
+ BLI_assert(find_bevvert(&bp, v) != NULL);
+ BM_vert_kill(bm, v);
+ }
+ }
+
if (do_fix_shading) {
BM_mesh_normals_update(bm);
BM_lnorspace_update(bm);
@@ -5763,13 +5770,6 @@ void BM_mesh_bevel(
BLI_ghash_free(bp.faceHash, NULL, NULL);
}
- BM_ITER_MESH_MUTABLE (v, v_next, &iter, bm, BM_VERTS_OF_MESH) {
- if (BM_elem_flag_test(v, BM_ELEM_TAG)) {
- BLI_assert(find_bevvert(&bp, v) != NULL);
- BM_vert_kill(bm, v);
- }
- }
-
/* When called from operator (as opposed to modifier), bm->use_toolflags
* will be set, and we to transfer the oflags to BM_ELEM_TAGs */
if (bm->use_toolflags) {