[Bf-blender-cvs] [23adfc3] alembic_basic_io: Fix over-allocation of exported normals.

Kévin Dietrich noreply at git.blender.org
Thu Jul 21 00:33:36 CEST 2016


Commit: 23adfc3ff7b67ba9310fb21a462ff67ed6048305
Author: Kévin Dietrich
Date:   Wed Jul 20 21:21:24 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB23adfc3ff7b67ba9310fb21a462ff67ed6048305

Fix over-allocation of exported normals.

===================================================================

M	source/blender/alembic/intern/abc_mesh.cc

===================================================================

diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 998df24..5b7b241 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -185,7 +185,7 @@ static void get_creases(DerivedMesh *dm,
 static void get_vertex_normals(DerivedMesh *dm, std::vector<Imath::V3f> &normals)
 {
 	normals.clear();
-	normals.resize(dm->getNumVerts(dm) * 3);
+	normals.resize(dm->getNumVerts(dm));
 
 	MVert *verts = dm->getVertArray(dm);
 	float no[3];
@@ -206,12 +206,10 @@ static void get_loop_normals(DerivedMesh *dm, std::vector<Imath::V3f> &normals)
 
 	MVert *verts = dm->getVertArray(dm);
 
-	const size_t num_normals = dm->getNumLoops(dm) * 3;
-
 	const float (*lnors)[3] = static_cast<float(*)[3]>(dm->getLoopDataArray(dm, CD_NORMAL));
 
 	normals.clear();
-	normals.resize(num_normals);
+	normals.resize(dm->getNumLoops(dm));
 
 	unsigned loop_index = 0;




More information about the Bf-blender-cvs mailing list