[Bf-blender-cvs] [b71291c96d0] functions: cleanup

Jacques Lucke noreply at git.blender.org
Fri Jul 5 12:26:46 CEST 2019


Commit: b71291c96d08194e48a474d48ed65f70236425bf
Author: Jacques Lucke
Date:   Fri Jul 5 10:38:44 2019 +0200
Branches: functions
https://developer.blender.org/rBb71291c96d08194e48a474d48ed65f70236425bf

cleanup

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

M	source/blender/simulations/bparticles/c_wrapper.cpp

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

diff --git a/source/blender/simulations/bparticles/c_wrapper.cpp b/source/blender/simulations/bparticles/c_wrapper.cpp
index 5cb01f59414..7fb1ca0f39e 100644
--- a/source/blender/simulations/bparticles/c_wrapper.cpp
+++ b/source/blender/simulations/bparticles/c_wrapper.cpp
@@ -134,32 +134,6 @@ class EulerIntegrator : public Integrator {
   }
 };
 
-class EventActionTest : public Event {
- public:
-  EventFilter *m_event;
-  Action *m_action;
-
-  EventActionTest(EventFilter *event, Action *action) : m_event(event), m_action(action)
-  {
-  }
-
-  ~EventActionTest()
-  {
-    delete m_event;
-    delete m_action;
-  }
-
-  void filter(EventFilterInterface &interface) override
-  {
-    m_event->filter(interface);
-  }
-
-  void execute(EventExecuteInterface &interface) override
-  {
-    m_action->execute(interface);
-  }
-};
-
 class ModifierParticleType : public ParticleType {
  public:
   SmallVector<Event *> m_events;
@@ -297,12 +271,39 @@ static void INSERT_EMITTER_point(bNode *emitter_node,
   }
 }
 
-class OldKillEvent : public Event {
+class EventFilterWithAction : public Event {
+ private:
+  EventFilter *m_filter;
+  Action *m_action;
+
+ public:
+  EventFilterWithAction(EventFilter *filter, Action *action) : m_filter(filter), m_action(action)
+  {
+  }
+
+  ~EventFilterWithAction()
+  {
+    delete m_filter;
+    delete m_action;
+  }
+
+  void filter(EventFilterInterface &interface) override
+  {
+    m_filter->filter(interface);
+  }
+
+  void execute(EventExecuteInterface &interface) override
+  {
+    m_action->execute(interface);
+  }
+};
+
+class AgeReachedEventFilter : public EventFilter {
  private:
   FN::SharedFunction m_compute_age_fn;
 
  public:
-  OldKillEvent(FN::SharedFunction compute_age_fn) : m_compute_age_fn(compute_age_fn)
+  AgeReachedEventFilter(FN::SharedFunction compute_age_fn) : m_compute_age_fn(compute_age_fn)
   {
   }
 
@@ -320,11 +321,6 @@ class OldKillEvent : public Event {
     filter->filter(interface);
     delete filter;
   }
-
-  void execute(EventExecuteInterface &interface) override
-  {
-    interface.kill(interface.particles().indices());
-  }
 };
 
 static void INSERT_EVENT_age_reached(bNode *event_node,
@@ -347,7 +343,9 @@ static void INSERT_EVENT_age_reached(bNode *event_node,
 
     bNode *type_node = linked.node;
 
-    Event *event = new OldKillEvent(compute_age_function);
+    EventFilter *event_filter = new AgeReachedEventFilter(compute_age_function);
+    Action *action = ACTION_kill();
+    Event *event = new EventFilterWithAction(event_filter, action);
     step_description.m_types.lookup_ref(type_node->name)->m_events.append(event);
   }
 }



More information about the Bf-blender-cvs mailing list