[Bf-blender-cvs] [f60664d] alembic_basic_io: Only compute normals when creating a new mesh.

Kévin Dietrich noreply at git.blender.org
Wed Jul 13 15:01:30 CEST 2016


Commit: f60664ddd7cc4b1c85900cdd9292ac18b5158c47
Author: Kévin Dietrich
Date:   Wed Jul 13 06:39:04 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rBf60664ddd7cc4b1c85900cdd9292ac18b5158c47

Only compute normals when creating a new mesh.

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

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

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

diff --git a/source/blender/alembic/intern/alembic_capi.cc b/source/blender/alembic/intern/alembic_capi.cc
index 91e5deb..3bfabfe 100644
--- a/source/blender/alembic/intern/alembic_capi.cc
+++ b/source/blender/alembic/intern/alembic_capi.cc
@@ -903,18 +903,11 @@ static DerivedMesh *read_mesh_sample(DerivedMesh *dm, const IObject &iobject, co
 		{
 			vertex_normals = normsamp.getVals();
 		}
-		else {
-			dm->dirty = static_cast<DMDirtyFlag>(static_cast<int>(dm->dirty) | static_cast<int>(DM_DIRTY_NORMALS));
-		}
 	}
 
 	read_mverts(mverts, positions, vertex_normals);
 	read_mpolys(mpolys, mloops, mloopuvs, ldata, face_indices, face_counts, uvs, uvs_indices, poly_normals);
 
-	if (!vertex_normals && !poly_normals) {
-		CDDM_calc_normals(dm);
-	}
-
 	CDStreamConfig config;
 	config.user_data = dm;
 	config.mloop = dm->getLoopArray(dm);
@@ -926,6 +919,10 @@ static DerivedMesh *read_mesh_sample(DerivedMesh *dm, const IObject &iobject, co
 	read_custom_data(schema.getArbGeomParams(), config, sample_sel);
 
 	if (new_dm) {
+		if (!vertex_normals && !poly_normals) {
+			CDDM_calc_normals(dm);
+		}
+
 		CDDM_calc_edges(dm);
 	}




More information about the Bf-blender-cvs mailing list