[Bf-blender-cvs] [7c59a8fca2c] derived: Cleanup: removed unused mesh_calc_modifiers code.

Brecht Van Lommel noreply at git.blender.org
Thu Mar 28 02:28:50 CET 2019


Commit: 7c59a8fca2ce6a3c083736e0f1e084c6a75a947a
Author: Brecht Van Lommel
Date:   Wed Mar 27 23:24:29 2019 +0100
Branches: derived
https://developer.blender.org/rB7c59a8fca2ce6a3c083736e0f1e084c6a75a947a

Cleanup: removed unused mesh_calc_modifiers code.

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

M	source/blender/blenkernel/BKE_DerivedMesh.h
M	source/blender/blenkernel/BKE_mesh_runtime.h
M	source/blender/blenkernel/intern/DerivedMesh.c
M	source/blender/blenkernel/intern/crazyspace.c
M	source/blender/blenkernel/intern/object_update.c
M	source/blender/python/bmesh/bmesh_py_types.c
M	source/blender/python/mathutils/mathutils_bvhtree.c

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

diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 734d9060be6..46938b13ea6 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -445,7 +445,7 @@ float (*editbmesh_get_vertex_cos(struct BMEditMesh *em, int *r_numVerts))[3];
 bool editbmesh_modifier_is_enabled(struct Scene *scene, struct ModifierData *md, bool has_prev_mesh);
 void makeDerivedMesh(
         struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct BMEditMesh *em,
-        const struct CustomData_MeshMasks *dataMask, const bool build_shapekey_layers);
+        const struct CustomData_MeshMasks *dataMask);
 
 void DM_calc_loop_tangents(
         DerivedMesh *dm, bool calc_active_tangent, const char (*tangent_names)[MAX_NAME],
diff --git a/source/blender/blenkernel/BKE_mesh_runtime.h b/source/blender/blenkernel/BKE_mesh_runtime.h
index b06b72e2180..3be97ad7afe 100644
--- a/source/blender/blenkernel/BKE_mesh_runtime.h
+++ b/source/blender/blenkernel/BKE_mesh_runtime.h
@@ -78,12 +78,10 @@ struct Mesh *mesh_create_eval_final_view(
 
 struct Mesh *mesh_create_eval_no_deform(
         struct Depsgraph *depsgraph, struct Scene *scene,
-        struct Object *ob, float (*vertCos)[3],
-        const struct CustomData_MeshMasks *dataMask);
+        struct Object *ob, const struct CustomData_MeshMasks *dataMask);
 struct Mesh *mesh_create_eval_no_deform_render(
         struct Depsgraph *depsgraph, struct Scene *scene,
-        struct Object *ob, float (*vertCos)[3],
-        const struct CustomData_MeshMasks *dataMask);
+        struct Object *ob, const struct CustomData_MeshMasks *dataMask);
 
 
 void BKE_mesh_runtime_eval_to_meshkey(struct Mesh *me_deformed, struct Mesh *me, struct KeyBlock *kb);
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 997f7977f63..33450aeb2d4 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -983,43 +983,6 @@ static void shapekey_layers_to_keyblocks(DerivedMesh *dm, Mesh *me, int actshape
 	}
 }
 
-static void add_shapekey_layers(Mesh *me_dst, Mesh *me_src, Object *UNUSED(ob))
-{
-	KeyBlock *kb;
-	Key *key = me_src->key;
-	int i;
-
-	if (!me_src->key)
-		return;
-
-	/* ensure we can use mesh vertex count for derived mesh custom data */
-	if (me_src->totvert != me_dst->totvert) {
-		CLOG_WARN(&LOG, "vertex size mismatch (mesh/eval) '%s' (%d != %d)",
-		          me_src->id.name + 2, me_src->totvert, me_dst->totvert);
-		return;
-	}
-
-	for (i = 0, kb = key->block.first; kb; kb = kb->next, i++) {
-		int ci;
-		float *array;
-
-		if (me_src->totvert != kb->totelem) {
-			CLOG_WARN(&LOG, "vertex size mismatch (Mesh '%s':%d != KeyBlock '%s':%d)",
-			          me_src->id.name + 2, me_src->totvert, kb->name, kb->totelem);
-			array = MEM_calloc_arrayN((size_t)me_src->totvert, sizeof(float[3]), __func__);
-		}
-		else {
-			array = MEM_malloc_arrayN((size_t)me_src->totvert, sizeof(float[3]), __func__);
-			memcpy(array, kb->data, (size_t)me_src->totvert * sizeof(float[3]));
-		}
-
-		CustomData_add_layer_named(&me_dst->vdata, CD_SHAPEKEY, CD_ASSIGN, array, me_dst->totvert, kb->name);
-		ci = CustomData_get_layer_index_n(&me_dst->vdata, CD_SHAPEKEY, i);
-
-		me_dst->vdata.layers[ci].uid = kb->uid;
-	}
-}
-
 static void mesh_copy_autosmooth(Mesh *me, Mesh *me_orig)
 {
 	if (me_orig->flag & ME_AUTOSMOOTH) {
@@ -1029,12 +992,16 @@ static void mesh_copy_autosmooth(Mesh *me, Mesh *me_orig)
 }
 
 static void mesh_calc_modifiers(
-        struct Depsgraph *depsgraph, Scene *scene, Object *ob, float (*inputVertexCos)[3],
+        struct Depsgraph *depsgraph,
+        Scene *scene, Object *ob,
         int useDeform,
-        const bool need_mapping, const CustomData_MeshMasks *dataMask,
-        const int index, const bool useCache, const bool build_shapekey_layers,
+        const bool need_mapping,
+        const CustomData_MeshMasks *dataMask,
+        const int index,
+        const bool useCache,
         /* return args */
-        Mesh **r_deform, Mesh **r_final)
+        Mesh **r_deform,
+        Mesh **r_final)
 {
 	ModifierData *firstmd, *md, *previewmd = NULL;
 	CDMaskLink *datamasks, *curr;
@@ -1104,9 +1071,6 @@ static void mesh_calc_modifiers(
 	Mesh *me = NULL;
 
 	if (useDeform) {
-		if (inputVertexCos)
-			deformedVerts = inputVertexCos;
-
 		/* Apply all leading deforming modifiers */
 		for (; md; md = md->next, curr = curr->next) {
 			const ModifierTypeInfo *mti = modifierType_getInfo(md->type);
@@ -1152,12 +1116,6 @@ static void mesh_calc_modifiers(
 		if (r_deform) {
 			*r_deform = BKE_mesh_copy_for_eval(ob->data, true);
 
-			/* XXX: Is build_shapekey_layers ever even true? This should have crashed long ago... */
-			BLI_assert(!build_shapekey_layers);
-			if (build_shapekey_layers) {
-				add_shapekey_layers(*r_deform, ob->data, ob);
-			}
-
 			if (deformedVerts) {
 				BKE_mesh_apply_vert_coords(*r_deform, deformedVerts);
 			}
@@ -1165,10 +1123,7 @@ static void mesh_calc_modifiers(
 	}
 	else {
 		/* default behavior for meshes */
-		if (inputVertexCos)
-			deformedVerts = inputVertexCos;
-		else
-			deformedVerts = BKE_mesh_vertexCos_get(ob->data, &numVerts);
+		deformedVerts = BKE_mesh_vertexCos_get(ob->data, &numVerts);
 	}
 
 
@@ -1292,10 +1247,6 @@ static void mesh_calc_modifiers(
 				me = BKE_mesh_copy_for_eval(ob->data, true);
 				ASSERT_IS_VALID_MESH(me);
 
-				if (build_shapekey_layers) {
-					add_shapekey_layers(me, ob->data, ob);
-				}
-
 				if (deformedVerts) {
 					BKE_mesh_apply_vert_coords(me, deformedVerts);
 				}
@@ -1358,9 +1309,7 @@ static void mesh_calc_modifiers(
 				me = me_next;
 
 				if (deformedVerts) {
-					if (deformedVerts != inputVertexCos) {
-						MEM_freeN(deformedVerts);
-					}
+					MEM_freeN(deformedVerts);
 					deformedVerts = NULL;
 				}
 
@@ -1463,10 +1412,6 @@ static void mesh_calc_modifiers(
 	else {
 		*r_final = BKE_mesh_copy_for_eval(ob->data, true);
 
-		if (build_shapekey_layers) {
-			add_shapekey_layers(*r_final, ob->data, ob);
-		}
-
 		if (deformedVerts) {
 			BKE_mesh_apply_vert_coords(*r_final, deformedVerts);
 		}
@@ -1493,11 +1438,6 @@ static void mesh_calc_modifiers(
 	}
 
 	if (sculpt_dyntopo == false) {
-		/* watch this! after 2.75a we move to from tessface to looptri (by default) */
-		if (dataMask->fmask & CD_MASK_MFACE) {
-			BKE_mesh_tessface_ensure(*r_final);
-		}
-
 		/* without this, drawing ngon tri's faces will show ugly tessellated face
 		 * normals and will also have to calculate normals on the fly, try avoid
 		 * this where possible since calculating polygon normals isn't fast,
@@ -1525,7 +1465,7 @@ static void mesh_calc_modifiers(
 		BKE_id_free(NULL, me_orco_cloth);
 	}
 
-	if (deformedVerts && deformedVerts != inputVertexCos)
+	if (deformedVerts)
 		MEM_freeN(deformedVerts);
 
 	BLI_linklist_free((LinkNode *)datamasks, NULL);
@@ -1836,24 +1776,6 @@ static void editbmesh_calc_modifiers(
 		}
 	}
 
-	/* BMESH_ONLY, ensure tessface's used for drawing,
-	 * but don't recalculate if the last modifier in the stack gives us tessfaces
-	 * check if the derived meshes are DM_TYPE_EDITBMESH before calling, this isn't essential
-	 * but quiets annoying error messages since tessfaces wont be created. */
-	if (dataMask->fmask & CD_MASK_MFACE) {
-		if ((*r_final)->edit_mesh == NULL) {
-			BKE_mesh_tessface_ensure(*r_final);
-		}
-		if (r_cage && *r_cage) {
-			if ((*r_cage)->edit_mesh == NULL) {
-				if (*r_cage != *r_final) {
-					BKE_mesh_tessface_ensure(*r_cage);
-				}
-			}
-		}
-	}
-	/* --- */
-
 	/* same as mesh_calc_modifiers (if using loop normals, poly nors have already been computed). */
 	if (!do_loop_normals) {
 		BKE_mesh_ensure_normals_for_display(*r_final);
@@ -1946,7 +1868,7 @@ static void mesh_runtime_check_normals_valid(const Mesh *mesh)
 
 static void mesh_build_data(
         struct Depsgraph *depsgraph, Scene *scene, Object *ob, const CustomData_MeshMasks *dataMask,
-        const bool build_shapekey_layers, const bool need_mapping)
+        const bool need_mapping)
 {
 	BLI_assert(ob->type == OB_MESH);
 
@@ -1967,7 +1889,7 @@ static void mesh_build_data(
 #endif
 
 	mesh_calc_modifiers(
-	        depsgraph, scene, ob, NULL, 1, need_mapping, dataMask, -1, true, build_shapekey_layers,
+	        depsgraph, scene, ob, 1, need_mapping, dataMask, -1, true,
 	        &ob->runtime.mesh_deform_eval, &ob->runtime.mesh_eval);
 
 	BKE_object_boundbox_calc_from_mesh(ob, ob->runtime.mesh_eval);
@@ -2063,7 +1985,7 @@ static void object_get_datamask(const Depsgraph *depsgraph, Object *ob, CustomDa
 
 void makeDerivedMesh(
         struct Depsgraph *depsgraph, Scene *scene, Object *ob, BMEditMesh *em,
-        const CustomData_MeshMasks *dataMask, const bool build_shapekey_layers)
+        const CustomData_MeshMasks *dataMask)
 {
 	bool need_mapping;
 	CustomData_MeshMasks cddata_masks = *dataMask;
@@ -2073,7 +1995,7 @@ void makeDerivedMesh(
 		editbmesh_build_data(depsgraph, scene, ob, em, &cddata_masks);
 	}
 	else {
-		mesh_build_data(depsgraph, scene, ob, &cddata_masks, build_shapekey_layers, need_mapping);
+		mesh_build_data(depsgraph, scene, ob, &cddata_masks, need_mapping);
 	}
 }
 
@@ -2101,7 +2023,7 @@ Mesh *mesh_get_eval_final(struct Depsgraph *depsgraph, Scene *scene, Object *ob,
 	{
 		CustomData_MeshMasks_update(&cddata_masks, &ob->runtime.last_data_mask);
 		mesh_build_data(depsgraph, scene, ob, &cddata_masks,
-		                false, need_mapping || ob->runtime.last_need_mapping);
+		                need_mapping || ob->runtime.last_need_mapping);
 	}
 
 	if (ob->runtime.mesh_eval) { BLI_assert(!(ob->runtime.mesh_eval->runtime.cd_dirty_vert & CD_MASK_NORMAL)); }
@@ -2131,7 +2053,7 @@ Mesh *mesh_get_eval_deform(struct Depsgraph *depsgraph, Scene *scene, Object *ob
 	{
 		CustomData_MeshMasks_update(&cddata_masks, &ob->runtime.last_data_mask);
 		mesh_build_data(depsgraph, scene, ob, &cddata_masks,
-		                false, need_mapping || ob->runtime.last_need_mapping);
+		                need_mapping || ob->runtime.last_need_mapping);
 	}
 
 	return ob->runtime.mesh_deform_eval;
@@ -2143,7 +2065,7 @

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list