From 1c4c288727214fa0588d66556a1cdf71755d70b4 Mon Sep 17 00:00:00 2001 From: Luca Rood Date: Fri, 21 Jul 2017 11:53:13 +0200 Subject: Pass EvaluationContext argument everywhere Note that some little parts of code have been dissabled because eval_ctx was not available there. This should be resolved once DerivedMesh is replaced. --- source/blender/modifiers/intern/MOD_explode.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'source/blender/modifiers/intern/MOD_explode.c') diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 24ce2e3cc8e..b5257bdbf6c 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -51,7 +51,6 @@ #include "BKE_particle.h" #include "BKE_scene.h" - #include "MEM_guardedalloc.h" @@ -786,8 +785,8 @@ static DerivedMesh *cutEdges(ExplodeModifierData *emd, DerivedMesh *dm) return splitdm; } static DerivedMesh *explodeMesh(ExplodeModifierData *emd, - ParticleSystemModifierData *psmd, Scene *scene, Object *ob, - DerivedMesh *to_explode) + ParticleSystemModifierData *psmd, struct EvaluationContext *eval_ctx, Scene *scene, + Object *ob, DerivedMesh *to_explode) { DerivedMesh *explode, *dm = to_explode; MFace *mf = NULL, *mface; @@ -812,6 +811,7 @@ static DerivedMesh *explodeMesh(ExplodeModifierData *emd, mface = dm->getTessFaceArray(dm); totpart = psmd->psys->totpart; + sim.eval_ctx = eval_ctx; sim.scene = scene; sim.ob = ob; sim.psys = psmd->psys; @@ -993,8 +993,8 @@ static ParticleSystemModifierData *findPrecedingParticlesystem(Object *ob, Modif } return psmd; } -static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, +static DerivedMesh *applyModifier(ModifierData *md, struct EvaluationContext *eval_ctx, + Object *ob, DerivedMesh *derivedData, ModifierApplyFlag UNUSED(flag)) { DerivedMesh *dm = derivedData; @@ -1028,7 +1028,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, if (emd->flag & eExplodeFlag_EdgeCut) { int *facepa = emd->facepa; DerivedMesh *splitdm = cutEdges(emd, dm); - DerivedMesh *explode = explodeMesh(emd, psmd, md->scene, ob, splitdm); + DerivedMesh *explode = explodeMesh(emd, psmd, eval_ctx, md->scene, ob, splitdm); MEM_freeN(emd->facepa); emd->facepa = facepa; @@ -1036,7 +1036,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, return explode; } else - return explodeMesh(emd, psmd, md->scene, ob, derivedData); + return explodeMesh(emd, psmd, eval_ctx, md->scene, ob, derivedData); } return derivedData; } -- cgit v1.2.3