[Bf-blender-cvs] [9542cf0] master: Fix an incorrect assert in lnor code.

Bastien Montagne noreply at git.blender.org
Mon Mar 16 10:41:40 CET 2015


Commit: 9542cf041af32b6db04b441daa7e7db290e5e7f1
Author: Bastien Montagne
Date:   Mon Mar 16 10:37:26 2015 +0100
Branches: master
https://developer.blender.org/rB9542cf041af32b6db04b441daa7e7db290e5e7f1

Fix an incorrect assert in lnor code.

There is one case where we do can have only two edges for two loops...

===================================================================

M	source/blender/blenkernel/intern/mesh_evaluate.c

===================================================================

diff --git a/source/blender/blenkernel/intern/mesh_evaluate.c b/source/blender/blenkernel/intern/mesh_evaluate.c
index 40a09eb..6c835a7 100644
--- a/source/blender/blenkernel/intern/mesh_evaluate.c
+++ b/source/blender/blenkernel/intern/mesh_evaluate.c
@@ -387,7 +387,9 @@ void BKE_lnor_space_define(MLoopNorSpace *lnor_space, const float lnor[3],
 			BLI_stack_discard(edge_vectors);
 			nbr++;
 		}
-		BLI_assert(nbr > 2);  /* This piece of code shall only be called for more than one loop... */
+		/* Note: In theory, this could be 'nbr > 2', but there is one case where we only have two edges for
+		 *       two loops: a smooth vertex with only two edges and two faces (our Monkey's nose has that, e.g.). */
+		BLI_assert(nbr >= 2);  /* This piece of code shall only be called for more than one loop... */
 		lnor_space->ref_alpha = alpha / (float)nbr;
 	}
 	else {




More information about the Bf-blender-cvs mailing list