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:
authorAntony Riakiotakis <kalast@gmail.com>2014-05-29 06:22:44 +0400
committerAntony Riakiotakis <kalast@gmail.com>2014-05-29 06:22:44 +0400
commit96f303392be1b8f87a00c0217c459a8731f9f792 (patch)
tree3d60fedd3ef4361056732cf5c93e3fe5ab9f79f0 /source/blender/blenkernel/intern/pbvh.c
parentac0b69233cacf86aff8a3417b6b69a562eb0f964 (diff)
Fix T40381 and revert previous commit.
Looks like the normal update flag is used internally in the modifier itself. So as a workaround just pass normal update to the nodes when flood filling
Diffstat (limited to 'source/blender/blenkernel/intern/pbvh.c')
-rw-r--r--source/blender/blenkernel/intern/pbvh.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c
index a60f7326b2b..9bffdd8a4e6 100644
--- a/source/blender/blenkernel/intern/pbvh.c
+++ b/source/blender/blenkernel/intern/pbvh.c
@@ -948,13 +948,8 @@ static void pbvh_update_normals(PBVH *bvh, PBVHNode **nodes,
return;
}
- if (bvh->type != PBVH_FACES) {
- /* make sure we clean up the flag! */
- for (n = 0; n < totnode; n++) {
- nodes[n]->flag &= ~PBVH_UpdateNormals;
- }
+ if (bvh->type != PBVH_FACES)
return;
- }
/* could be per node to save some memory, but also means
* we have to store for each vertex which node it is in */
@@ -1334,6 +1329,12 @@ void BKE_pbvh_node_mark_redraw(PBVHNode *node)
node->flag |= PBVH_UpdateDrawBuffers | PBVH_UpdateRedraw;
}
+void BKE_pbvh_node_mark_normals_update(PBVHNode *node)
+{
+ node->flag |= PBVH_UpdateNormals;
+}
+
+
void BKE_pbvh_node_fully_hidden_set(PBVHNode *node, int fully_hidden)
{
BLI_assert(node->flag & PBVH_Leaf);