Refactor 'split faces' mesh code.
authorBastien Montagne <montagne29@wanadoo.fr>
Wed, 30 Aug 2017 14:42:53 +0000 (16:42 +0200)
committerBastien Montagne <montagne29@wanadoo.fr>
Wed, 30 Aug 2017 14:52:47 +0000 (16:52 +0200)
commit25c5928b2b6a71a426b123a81b605e2fbe5e297e
tree888e04e02452b354628453c41f127102e41baf37
parent68dfa0f1b7ffd56208d31ffa1c5cf4308fe10356
Refactor 'split faces' mesh code.

Previous version was trying to do a quick and simple process in the case
we were only considering smooth/flat status of faces.

Thing is, even then, the algorithm was not actually working in all
possible situations, e.g. two smooth faces having a single vertex in
common, but no common edges, would not have split that vertex, leading
to incorrect shading etc.

So now, tweaked slightly our split normals code to be able to generate
lnor spaces even when autosmooth is disabled, and we always go that way
when splitting faces.

Using smooth fans from clnor spaces is not only the only way to get 100%
correct results, it also makes face split code simpler.
source/blender/blenkernel/intern/mesh.c