Mesh validate: add an option to not clean temp/cache CDLayers.
authorBastien Montagne <montagne29@wanadoo.fr>
Thu, 5 Feb 2015 13:03:01 +0000 (14:03 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Thu, 5 Feb 2015 13:03:01 +0000 (14:03 +0100)
commit7bae9ee6b62dbc5defffb698ec3d3f39ce460254
tree4361f69ef42814c6df54e49fe98925aca4f4cfaf
parente442b9916eefaea9f98c126e2390b5aafa4518cc
Mesh validate: add an option to not clean temp/cache CDLayers.

This is mandatory for incoming custom normal imports from io scripts, because
often geometry here is corrupted, so we need to call mesh.validate() to clean it up.

Issue is, we cannot set custom normals before geometry is clean, so we need to store
temporary plain loop normals in a CD_NORMAL layer, validate, and then set custom normals.
So we need a way to prevent 'temp' lnors to be freed by validate.
source/blender/blenkernel/BKE_mesh.h
source/blender/blenkernel/intern/DerivedMesh.c
source/blender/blenkernel/intern/mesh_validate.c
source/blender/collada/MeshImporter.cpp
source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
source/blender/makesrna/intern/rna_mesh_api.c