diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-19 16:25:48 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-19 16:28:33 +0300 |
commit | d8f9ec1547387bf363e9c7100322a7d94f08f12a (patch) | |
tree | ebb07e56bb90954eedd97e6a8d03ef28be381853 /source/blender/blenkernel/intern/particle.c | |
parent | 95306a4d1982e569616211d901bb81b0467d0b8b (diff) |
Particles: Support changing modifiers during particle edit mode
The idea is to only use pointers to particles in original object when
creating an edit structure. The derived mesh we get from evaluated
object.
The rest of the commit is just keeping pointers in sync.
Diffstat (limited to 'source/blender/blenkernel/intern/particle.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 9461b0a21a5..693d6ac587e 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -2824,7 +2824,6 @@ void psys_cache_edit_paths(Depsgraph *depsgraph, Scene *scene, Object *ob, PTCac ParticleEditSettings *pset = &scene->toolsettings->particle; ParticleSystem *psys = edit->psys; - ParticleSystemModifierData *psmd = psys_get_modifier(ob, psys); ParticleData *pa = psys ? psys->particles : NULL; @@ -2851,7 +2850,7 @@ void psys_cache_edit_paths(Depsgraph *depsgraph, Scene *scene, Object *ob, PTCac CacheEditrPathsIterData iter_data; iter_data.object = ob; iter_data.edit = edit; - iter_data.psmd = psmd; + iter_data.psmd = edit->psmd_eval; iter_data.pa = pa; iter_data.segments = segments; iter_data.use_weight = use_weight; @@ -2881,7 +2880,7 @@ void psys_cache_edit_paths(Depsgraph *depsgraph, Scene *scene, Object *ob, PTCac sim.scene = scene; sim.ob = ob; sim.psys = psys; - sim.psmd = psys_get_modifier(ob, psys); + sim.psmd = edit->psmd_eval; psys_cache_child_paths(&sim, cfra, true, use_render_params); } |