[Bf-blender-cvs] [c12ed3b] shapekeys-normals: Tweak as suggested by Campbell in review.
Bastien Montagne
noreply at git.blender.org
Mon Oct 12 20:11:05 CEST 2015
Commit: c12ed3b9aecf506f8ae3fd863f857fa2b7dad781
Author: Bastien Montagne
Date: Mon Oct 12 20:10:38 2015 +0200
Branches: shapekeys-normals
https://developer.blender.org/rBc12ed3b9aecf506f8ae3fd863f857fa2b7dad781
Tweak as suggested by Campbell in review.
===================================================================
M source/blender/blenkernel/intern/key.c
===================================================================
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index ab90c93..362f413 100644
--- a/source/blender/blenkernel/intern/key.c
+++ b/source/blender/blenkernel/intern/key.c
@@ -1814,46 +1814,45 @@ void BKE_keyblock_mesh_calc_normals(
float (*r_vertnors)[3], float (*r_polynors)[3], float (*r_loopnors)[3])
{
/* We use a temp, shallow copy of mesh to work. */
- Mesh *me;
+ Mesh me;
bool free_polynors = false;
if (r_vertnors == NULL && r_polynors == NULL && r_loopnors == NULL) {
return;
}
- me = MEM_dupallocN(mesh);
- me->mvert = MEM_dupallocN(mesh->mvert);
- CustomData_reset(&me->vdata);
- CustomData_reset(&me->edata);
- CustomData_reset(&me->pdata);
- CustomData_reset(&me->ldata);
- CustomData_reset(&me->fdata);
+ me = *mesh;
+ me.mvert = MEM_dupallocN(mesh->mvert);
+ CustomData_reset(&me.vdata);
+ CustomData_reset(&me.edata);
+ CustomData_reset(&me.pdata);
+ CustomData_reset(&me.ldata);
+ CustomData_reset(&me.fdata);
- BKE_keyblock_convert_to_mesh(kb, me);
+ BKE_keyblock_convert_to_mesh(kb, &me);
if (r_polynors == NULL && r_loopnors != NULL) {
- r_polynors = MEM_mallocN(sizeof(float[3]) * me->totpoly, __func__);
+ r_polynors = MEM_mallocN(sizeof(float[3]) * me.totpoly, __func__);
free_polynors = true;
}
BKE_mesh_calc_normals_poly(
- me->mvert, r_vertnors, me->totvert, me->mloop, me->mpoly, me->totloop, me->totpoly, r_polynors, false);
+ me.mvert, r_vertnors, me.totvert, me.mloop, me.mpoly, me.totloop, me.totpoly, r_polynors, false);
if (r_loopnors) {
short (*clnors)[2] = CustomData_get_layer(&mesh->ldata, CD_CUSTOMLOOPNORMAL); /* May be NULL. */
BKE_mesh_normals_loop_split(
- me->mvert, me->totvert, me->medge, me->totedge,
- me->mloop, r_loopnors, me->totloop, me->mpoly, r_polynors, me->totpoly,
- (me->flag & ME_AUTOSMOOTH) != 0, me->smoothresh, NULL, clnors, NULL);
- }
-
- CustomData_free(&me->vdata, me->totvert);
- CustomData_free(&me->edata, me->totedge);
- CustomData_free(&me->pdata, me->totpoly);
- CustomData_free(&me->ldata, me->totloop);
- CustomData_free(&me->fdata, me->totface);
- MEM_freeN(me->mvert);
- MEM_freeN(me);
+ me.mvert, me.totvert, me.medge, me.totedge,
+ me.mloop, r_loopnors, me.totloop, me.mpoly, r_polynors, me.totpoly,
+ (me.flag & ME_AUTOSMOOTH) != 0, me.smoothresh, NULL, clnors, NULL);
+ }
+
+ CustomData_free(&me.vdata, me.totvert);
+ CustomData_free(&me.edata, me.totedge);
+ CustomData_free(&me.pdata, me.totpoly);
+ CustomData_free(&me.ldata, me.totloop);
+ CustomData_free(&me.fdata, me.totface);
+ MEM_freeN(me.mvert);
if (free_polynors) {
MEM_freeN(r_polynors);
More information about the Bf-blender-cvs
mailing list