[Bf-blender-cvs] [a7ca8fe1dd1] blender2.8: Modifiers: Remove lots of usages of md->scene

Sergey Sharybin noreply at git.blender.org
Fri Jun 22 15:12:34 CEST 2018


Commit: a7ca8fe1dd111f0b99c1b17cdd6b0f7e1c6f987b
Author: Sergey Sharybin
Date:   Fri Jun 22 15:03:42 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBa7ca8fe1dd111f0b99c1b17cdd6b0f7e1c6f987b

Modifiers: Remove lots of usages of md->scene

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

M	source/blender/modifiers/intern/MOD_cloth.c
M	source/blender/modifiers/intern/MOD_datatransfer.c
M	source/blender/modifiers/intern/MOD_displace.c
M	source/blender/modifiers/intern/MOD_dynamicpaint.c
M	source/blender/modifiers/intern/MOD_explode.c
M	source/blender/modifiers/intern/MOD_meshcache.c
M	source/blender/modifiers/intern/MOD_meshdeform.c
M	source/blender/modifiers/intern/MOD_meshsequencecache.c
M	source/blender/modifiers/intern/MOD_ocean.c
M	source/blender/modifiers/intern/MOD_particleinstance.c
M	source/blender/modifiers/intern/MOD_particlesystem.c
M	source/blender/modifiers/intern/MOD_smoke.c
M	source/blender/modifiers/intern/MOD_softbody.c
M	source/blender/modifiers/intern/MOD_warp.c
M	source/blender/modifiers/intern/MOD_wave.c
M	source/blender/modifiers/intern/MOD_weightvgedit.c
M	source/blender/modifiers/intern/MOD_weightvgmix.c
M	source/blender/modifiers/intern/MOD_weightvgproximity.c

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

diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c
index 19afe30acae..05c9e44d980 100644
--- a/source/blender/modifiers/intern/MOD_cloth.c
+++ b/source/blender/modifiers/intern/MOD_cloth.c
@@ -54,6 +54,8 @@
 #include "BKE_modifier.h"
 #include "BKE_pointcache.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "MOD_util.h"
 
 static void initData(ModifierData *md)
@@ -78,6 +80,7 @@ static void deformVerts(
 {
 	Mesh *mesh_src;
 	ClothModifierData *clmd = (ClothModifierData *) md;
+	Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 
 	/* check for alloc failing */
 	if (!clmd->sim_parms || !clmd->coll_parms) {
@@ -123,7 +126,7 @@ static void deformVerts(
 
 	BKE_mesh_apply_vert_coords(mesh_src, vertexCos);
 
-	clothModifier_do(clmd, ctx->depsgraph, md->scene, ctx->object, mesh_src, vertexCos);
+	clothModifier_do(clmd, ctx->depsgraph, scene, ctx->object, mesh_src, vertexCos);
 
 	BKE_id_free(NULL, mesh_src);
 }
diff --git a/source/blender/modifiers/intern/MOD_datatransfer.c b/source/blender/modifiers/intern/MOD_datatransfer.c
index 8a95c8020e9..5bdb90ec42d 100644
--- a/source/blender/modifiers/intern/MOD_datatransfer.c
+++ b/source/blender/modifiers/intern/MOD_datatransfer.c
@@ -46,6 +46,8 @@
 #include "BKE_modifier.h"
 #include "BKE_report.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "MEM_guardedalloc.h"
 #include "MOD_util.h"
 
@@ -150,6 +152,7 @@ static bool isDisabled(const struct Scene *UNUSED(scene), ModifierData *md, int
 static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mesh *me_mod)
 {
 	DataTransferModifierData *dtmd = (DataTransferModifierData *) md;
+	struct Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 	Mesh *result = me_mod;
 	ReportList reports;
 
@@ -184,7 +187,7 @@ static Mesh *applyModifier(ModifierData *md, const ModifierEvalContext *ctx, Mes
 	BKE_reports_init(&reports, RPT_STORE);
 
 	/* Note: no islands precision for now here. */
-	BKE_object_data_transfer_ex(ctx->depsgraph, md->scene, dtmd->ob_source, ctx->object, result, dtmd->data_types, false,
+	BKE_object_data_transfer_ex(ctx->depsgraph, scene, dtmd->ob_source, ctx->object, result, dtmd->data_types, false,
 	                     dtmd->vmap_mode, dtmd->emap_mode, dtmd->lmap_mode, dtmd->pmap_mode,
 	                     space_transform, false, max_dist, dtmd->map_ray_radius, 0.0f,
 	                     dtmd->layers_select_src, dtmd->layers_select_dst,
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c
index 28791899e02..351a496daa1 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -53,6 +53,7 @@
 #include "BKE_object.h"
 
 #include "DEG_depsgraph.h"
+#include "DEG_depsgraph_query.h"
 
 #include "MEM_guardedalloc.h"
 
@@ -159,6 +160,7 @@ static void updateDepsgraph(ModifierData *md, const ModifierUpdateDepsgraphConte
 
 typedef struct DisplaceUserdata {
 	/*const*/ DisplaceModifierData *dmd;
+	struct Scene *scene;
 	struct ImagePool *pool;
 	MDeformVert *dvert;
 	float weight;
@@ -205,7 +207,7 @@ static void displaceModifier_do_task(
 
 	if (dmd->texture) {
 		texres.nor = NULL;
-		BKE_texture_get_value_ex(dmd->modifier.scene, dmd->texture, tex_co[iter], &texres, data->pool, false);
+		BKE_texture_get_value_ex(data->scene, dmd->texture, tex_co[iter], &texres, data->pool, false);
 		delta = texres.tin - dmd->midlevel;
 	}
 	else {
@@ -330,6 +332,7 @@ static void displaceModifier_do(
 	}
 
 	DisplaceUserdata data = {NULL};
+	data.scene = DEG_get_evaluated_scene(ctx->depsgraph);
 	data.dmd = dmd;
 	data.dvert = dvert;
 	data.weight = weight;
diff --git a/source/blender/modifiers/intern/MOD_dynamicpaint.c b/source/blender/modifiers/intern/MOD_dynamicpaint.c
index 5ca367e342a..6619f0079e7 100644
--- a/source/blender/modifiers/intern/MOD_dynamicpaint.c
+++ b/source/blender/modifiers/intern/MOD_dynamicpaint.c
@@ -42,8 +42,8 @@
 #include "BKE_modifier.h"
 
 #include "DEG_depsgraph.h"
-
 #include "DEG_depsgraph_build.h"
+#include "DEG_depsgraph_query.h"
 
 #include "MOD_modifiertypes.h"
 
@@ -107,7 +107,8 @@ static DerivedMesh *applyModifier(
 
 	/* dont apply dynamic paint on orco dm stack */
 	if (!(ctx->flag & MOD_APPLY_ORCO)) {
-		return dynamicPaint_Modifier_do(pmd, ctx->depsgraph, md->scene, ctx->object, dm);
+		Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
+		return dynamicPaint_Modifier_do(pmd, ctx->depsgraph, scene, ctx->object, dm);
 	}
 	return dm;
 }
diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c
index cbb15665bef..948aaf0751e 100644
--- a/source/blender/modifiers/intern/MOD_explode.c
+++ b/source/blender/modifiers/intern/MOD_explode.c
@@ -51,6 +51,8 @@
 #include "BKE_particle.h"
 #include "BKE_scene.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "MEM_guardedalloc.h"
 
 #include "MOD_modifiertypes.h"
@@ -1028,18 +1030,20 @@ static DerivedMesh *applyModifier(
 			createFacepa(emd, psmd, derivedData);
 		}
 		/* 2. create new mesh */
+		Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 		if (emd->flag & eExplodeFlag_EdgeCut) {
 			int *facepa = emd->facepa;
 			DerivedMesh *splitdm = cutEdges(emd, dm);
-			DerivedMesh *explode = explodeMesh(emd, psmd, ctx, md->scene, splitdm);
+			DerivedMesh *explode = explodeMesh(emd, psmd, ctx, scene, splitdm);
 
 			MEM_freeN(emd->facepa);
 			emd->facepa = facepa;
 			splitdm->release(splitdm);
 			return explode;
 		}
-		else
-			return explodeMesh(emd, psmd, ctx, md->scene, derivedData);
+		else {
+			return explodeMesh(emd, psmd, ctx, scene, derivedData);
+		}
 	}
 	return derivedData;
 }
diff --git a/source/blender/modifiers/intern/MOD_meshcache.c b/source/blender/modifiers/intern/MOD_meshcache.c
index 145bceb99aa..9d6dfc0e1eb 100644
--- a/source/blender/modifiers/intern/MOD_meshcache.c
+++ b/source/blender/modifiers/intern/MOD_meshcache.c
@@ -42,6 +42,8 @@
 #include "BKE_mesh.h"
 #include "BKE_main.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "MEM_guardedalloc.h"
 
 #include "MOD_meshcache_util.h"  /* utility functions */
@@ -80,7 +82,7 @@ static bool isDisabled(const struct Scene *UNUSED(scene), ModifierData *md, int
 
 
 static void meshcache_do(
-        MeshCacheModifierData *mcmd, Object *ob, DerivedMesh *UNUSED(dm),
+        MeshCacheModifierData *mcmd, Scene *scene, Object *ob, DerivedMesh *UNUSED(dm),
         float (*vertexCos_Real)[3], int numVerts)
 {
 	const bool use_factor = mcmd->factor < 1.0f;
@@ -88,7 +90,6 @@ static void meshcache_do(
 	                              MEM_malloc_arrayN(numVerts, sizeof(*vertexCos_Store), __func__) : NULL;
 	float (*vertexCos)[3] = vertexCos_Store ? vertexCos_Store : vertexCos_Real;
 
-	Scene *scene = mcmd->modifier.scene;
 	const float fps = FPS;
 
 	char filepath[FILE_MAX];
@@ -270,8 +271,9 @@ static void deformVerts(
         int numVerts)
 {
 	MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
+	Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 
-	meshcache_do(mcmd, ctx->object, derivedData, vertexCos, numVerts);
+	meshcache_do(mcmd, scene, ctx->object, derivedData, vertexCos, numVerts);
 }
 
 static void deformVertsEM(
@@ -279,8 +281,9 @@ static void deformVertsEM(
         DerivedMesh *derivedData, float (*vertexCos)[3], int numVerts)
 {
 	MeshCacheModifierData *mcmd = (MeshCacheModifierData *)md;
+	Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 
-	meshcache_do(mcmd, ctx->object, derivedData, vertexCos, numVerts);
+	meshcache_do(mcmd, scene, ctx->object, derivedData, vertexCos, numVerts);
 }
 
 
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c
index 2228366b030..ea20d5f5a0f 100644
--- a/source/blender/modifiers/intern/MOD_meshdeform.c
+++ b/source/blender/modifiers/intern/MOD_meshdeform.c
@@ -52,6 +52,7 @@
 #include "MEM_guardedalloc.h"
 
 #include "DEG_depsgraph.h"
+#include "DEG_depsgraph_query.h"
 
 #include "MOD_util.h"
 
@@ -324,8 +325,9 @@ static void meshdeformModifier_do(
 
 		/* progress bar redraw can make this recursive .. */
 		if (!recursive) {
+			Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 			recursive = 1;
-			mmd->bindfunc(md->scene, mmd, cagemesh, (float *)vertexCos, numVerts, cagemat);
+			mmd->bindfunc(scene, mmd, cagemesh, (float *)vertexCos, numVerts, cagemat);
 			recursive = 0;
 		}
 	}
diff --git a/source/blender/modifiers/intern/MOD_meshsequencecache.c b/source/blender/modifiers/intern/MOD_meshsequencecache.c
index 77be2d6b17a..482a74ed248 100644
--- a/source/blender/modifiers/intern/MOD_meshsequencecache.c
+++ b/source/blender/modifiers/intern/MOD_meshsequencecache.c
@@ -98,7 +98,7 @@ static Mesh *applyModifier(
 	Mesh *me = (ctx->object->type == OB_MESH) ? ctx->object->data : NULL;
 	Mesh *org_mesh = mesh;
 
-	Scene *scene = md->scene; /* for FPS macro */
+	Scene *scene = DEG_get_evaluated_scene(ctx->depsgraph);
 	const float frame = DEG_get_ctime(ctx->depsgraph);
 	const float time = BKE_cachefile_time_offset(mcmd->cache_file, frame, FPS);
 	const char *err_str = NULL;
diff --git a/source/blender/modifiers/intern/MOD_ocean.c b/source/blender/modifiers/intern/MOD_ocean.c
index af5b537ca52..2de737129fa 100644
--- a/source/blender/modifiers/intern/MOD_ocean.c
+++ b/source/blender/modifiers/intern/MOD_ocean.c
@@ -46,6 +46,8 @@
 #include "BKE_modifier.h"
 #include "BKE_ocean.h"
 
+#include "DEG_depsgraph_query.h"
+
 #include "MOD_modifiertypes.h"
 
 #ifdef WITH_OCEANSIM
@@ -406,7 +408,7 @@ static DerivedMesh *generate_ocean_geometry(OceanModifierData *omd)
 }
 
 static DerivedMesh *doOcean(
-        ModifierData *md, Object *ob,
+        ModifierData *md, Scene *scene, Object *ob,
         DerivedMesh *derivedData,
         int UNUSED(useRenderParams))
 {
@@ -450,7 +452,7 @@ static DerivedMesh *doOcean(
 		if (!omd->oceancache) {
 			init_cache_data(ob, omd);
 		}
-		BKE_ocean_simulate_cache(omd->oceancache, md->scene->r.cfra);
+		BKE_ocean_simulate_cache(omd->oceancache, scene->r.cfra);
 	}
 	else {
 		simulate_ocean_modifier(omd);
@@ -464,7 +466,7 @@ static DerivedMesh *doOcean(
 		dm = CDDM_copy(derivedData);
 	}
 
-	cfra = md->scene->r.cfra

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list