[Bf-blender-cvs] [dd55ac91281] functions: cleanup: remove unnecessary state parameter

Jacques Lucke noreply at git.blender.org
Thu Jun 27 15:50:10 CEST 2019


Commit: dd55ac91281470cac147f80e01402fe41ace9d2e
Author: Jacques Lucke
Date:   Thu Jun 27 15:30:56 2019 +0200
Branches: functions
https://developer.blender.org/rBdd55ac91281470cac147f80e01402fe41ace9d2e

cleanup: remove unnecessary state parameter

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

M	source/blender/simulations/bparticles/core.cpp
M	source/blender/simulations/bparticles/core.hpp
M	source/blender/simulations/bparticles/simulate.cpp

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

diff --git a/source/blender/simulations/bparticles/core.cpp b/source/blender/simulations/bparticles/core.cpp
index 3ca4f9c22fd..848f0dcb3c3 100644
--- a/source/blender/simulations/bparticles/core.cpp
+++ b/source/blender/simulations/bparticles/core.cpp
@@ -79,7 +79,7 @@ EmitTarget &EmitterInterface::request(uint particle_type_id, uint size)
 
   uint remaining_size = size;
   while (remaining_size > 0) {
-    ParticlesBlock &block = m_allocator.get_non_full_block(particle_type_id);
+    ParticlesBlock &block = m_block_allocator.get_non_full_block(particle_type_id);
 
     uint size_to_use = std::min(block.inactive_amount(), remaining_size);
     Range<uint> range(block.active_amount(), block.active_amount() + size_to_use);
@@ -96,7 +96,8 @@ EmitTarget &EmitterInterface::request(uint particle_type_id, uint size)
     remaining_size -= size_to_use;
   }
 
-  ParticlesContainer &container = m_state.particle_container(particle_type_id);
+  ParticlesContainer &container = m_block_allocator.particles_state().particle_container(
+      particle_type_id);
   m_targets.append(new EmitTarget(particle_type_id, container.attributes_info(), blocks, ranges));
   return *m_targets.last();
 }
diff --git a/source/blender/simulations/bparticles/core.hpp b/source/blender/simulations/bparticles/core.hpp
index 945b49ec42d..0e57a356b8a 100644
--- a/source/blender/simulations/bparticles/core.hpp
+++ b/source/blender/simulations/bparticles/core.hpp
@@ -56,6 +56,11 @@ class BlockAllocator {
   BlockAllocator(ParticlesState &state);
 
   ParticlesBlock &get_non_full_block(uint particle_type_id);
+
+  ParticlesState &particles_state()
+  {
+    return m_state;
+  }
 };
 
 class EmitTarget {
@@ -140,13 +145,11 @@ class EmitTarget {
 
 class EmitterInterface {
  private:
-  ParticlesState &m_state;
-  BlockAllocator &m_allocator;
+  BlockAllocator &m_block_allocator;
   SmallVector<EmitTarget *> m_targets;
 
  public:
-  EmitterInterface(ParticlesState &state, BlockAllocator &allocator)
-      : m_state(state), m_allocator(allocator)
+  EmitterInterface(BlockAllocator &allocator) : m_block_allocator(allocator)
   {
   }
 
diff --git a/source/blender/simulations/bparticles/simulate.cpp b/source/blender/simulations/bparticles/simulate.cpp
index 94190642264..e3624a37179 100644
--- a/source/blender/simulations/bparticles/simulate.cpp
+++ b/source/blender/simulations/bparticles/simulate.cpp
@@ -372,12 +372,11 @@ BLI_NOINLINE static void delete_tagged_particles(ArrayRef<ParticlesBlock *> bloc
  **********************************************/
 
 BLI_NOINLINE static void emit_new_particles_from_emitter(StepDescription &description,
-                                                         ParticlesState &state,
                                                          BlockAllocator &block_allocator,
                                                          TimeSpan time_span,
                                                          Emitter &emitter)
 {
-  EmitterInterface interface(state, block_allocator);
+  EmitterInterface interface(block_allocator);
   emitter.emit(interface);
 
   for (EmitTarget *target_ptr : interface.targets()) {
@@ -483,7 +482,7 @@ void simulate_step(ParticlesState &state, StepDescription &description)
 
   BlockAllocator block_allocator(state);
   for (Emitter *emitter : description.emitters()) {
-    emit_new_particles_from_emitter(description, state, block_allocator, time_span, *emitter);
+    emit_new_particles_from_emitter(description, block_allocator, time_span, *emitter);
   }
 
   for (uint type_id : description.particle_type_ids()) {



More information about the Bf-blender-cvs mailing list