diff options
author | Jacques Lucke <mail@jlucke.com> | 2020-01-02 17:49:41 +0300 |
---|---|---|
committer | Jacques Lucke <mail@jlucke.com> | 2020-01-02 17:49:41 +0300 |
commit | 0ebb98ab3daed6b1dae16255e1f8312cd67a270e (patch) | |
tree | 1f29c1e5315b06c1523c6f0a8a1c5aef9cbbeb03 /source/blender/simulations | |
parent | 30b50638a03ff29b342d9d42c28c94fba5fe422b (diff) |
cleanup
Diffstat (limited to 'source/blender/simulations')
-rw-r--r-- | source/blender/simulations/bparticles/simulate.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/source/blender/simulations/bparticles/simulate.cpp b/source/blender/simulations/bparticles/simulate.cpp index 2df31c3bb9e..2872031ec26 100644 --- a/source/blender/simulations/bparticles/simulate.cpp +++ b/source/blender/simulations/bparticles/simulate.cpp @@ -475,26 +475,17 @@ void simulate_particles(SimulationState &simulation_state, all_newly_created_particles.add_multiple(newly_created_particles); } - Vector<ParticleSet *> main_sets; - Vector<ArrayRef<ParticleSet *>> particle_sets_vector; + BLI::parallel_multi_map_items(all_newly_created_particles, + [&](StringRef name, ArrayRef<ParticleSet *> new_particle_sets) { + ParticleSet &main_set = particles_state.particle_container(name); - all_newly_created_particles.foreach_item( - [&](StringRef name, ArrayRef<ParticleSet *> new_particle_sets) { - main_sets.append(&particles_state.particle_container(name)); - particle_sets_vector.append(new_particle_sets); - }); - - BLI::parallel_for(main_sets.index_range(), [&](uint index) { - ParticleSet &main_set = *main_sets[index]; - ArrayRef<ParticleSet *> particle_sets = particle_sets_vector[index]; + for (ParticleSet *set : new_particle_sets) { + main_set.add_particles(*set); + delete set; + } - for (ParticleSet *set : particle_sets) { - main_set.add_particles(*set); - delete set; - } - - delete_tagged_particles_and_reorder(main_set); - }); + delete_tagged_particles_and_reorder(main_set); + }); } } // namespace BParticles |