Refactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.
authorBastien Montagne <montagne29@wanadoo.fr>
Thu, 1 Mar 2018 15:54:21 +0000 (16:54 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Thu, 1 Mar 2018 15:54:21 +0000 (16:54 +0100)
commit1178518a689eba1b53b455a07612fcc77bde45df
tree491fe7a1b90c0e9a5f755740bac03847406bcf96
parent7377d411b47d50cd943cd33e3e55c0409bb79f91
Refactor: Merge non-functional-change part of 'edit normals' 2017 GSoC.

This merges changes in internals, runtime-only of existing custom
normals code, which make sense as of themselves, and will make diff of
soc branch easier/lighter to review.

In the details, it mostly changes two things:

* Now, smooth fans (aka MLoopNorSpaceArray) can store either loop
indices, or pointers to BMLoop themselves. This makes sense since in
BMesh, it's relatively easy to get index from a BMElement, but nearly
impracticable to go the other way around.

* First change enforces another, now we cannot rely anymore on `loops`
being NULL in MLoopNorSpace to detect single-loop fans, so we instead
store that info in a new flag.

Again, these are expected to be totally non-functional changes.
source/blender/blenkernel/BKE_mesh.h
source/blender/blenkernel/intern/mesh.c
source/blender/blenkernel/intern/mesh_evaluate.c
source/blender/bmesh/intern/bmesh_mesh.c
source/blender/bmesh/intern/bmesh_mesh.h