Fix T40405: Blender crashes on FBX export instantly.
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 28 May 2014 16:37:30 +0000 (18:37 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 28 May 2014 16:55:46 +0000 (18:55 +0200)
commit74cc3974fea0422343b09bdd61e4d3924c62940a
tree3530aa55027f7f8dc95ec202f049097aae4eae02
parent9913da2b7f0a17112aa50d834d93d5f7961add06
Fix T40405: Blender crashes on FBX export instantly.
Better fix than rBbef5cb3aa2e5a: consider edges between faces with opposed normals as sharp.

In fact, previous code was broken more deeply in this case (inconsistent normals across
a 'smooth fan') - some loop normals would even never be computed!

Fixing this is possible (even wrote it, actually), but this adds more complexity
to a piece of code that is already awfully complicated, *and* normals in that kind
of smooth fan do not make much sense anyway. So simpler and nicer results with
assuming sharp edges between such 'opposed' faces!

Note that there is some face (loop) ordering black magic at work here, added more comments
to try to explain how and why all this works.

As a bonus, we do not need to check for already computed loop normals anymore, since we
know each 'smooth fan' will be walked once, and only once.
source/blender/blenkernel/intern/mesh_evaluate.c
source/blender/bmesh/intern/bmesh_mesh.c