Jet  v1.3.3
grid_emitter2.h
Go to the documentation of this file.
1 // Copyright (c) 2019 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_GRID_EMITTER2_H_
8 #define INCLUDE_JET_GRID_EMITTER2_H_
9 
10 #include <jet/animation.h>
11 #include <jet/implicit_surface2.h>
12 #include <jet/scalar_grid2.h>
13 
14 #include <utility>
15 #include <vector>
16 
17 namespace jet {
18 
22 class GridEmitter2 {
23  public:
30  typedef std::function<void(double, double)> OnBeginUpdateCallback;
31 
34 
36  virtual ~GridEmitter2();
37 
40  void update(double currentTimeInSeconds, double timeIntervalInSeconds);
41 
43  bool isEnabled() const;
44 
46  void setIsEnabled(bool enabled);
47 
59 
60  protected:
61  virtual void onUpdate(double currentTimeInSeconds,
62  double timeIntervalInSeconds) = 0;
63 
64  private:
65  bool _isEnabled = true;
66  OnBeginUpdateCallback _onBeginUpdateCallback;
67 };
68 
70 typedef std::shared_ptr<GridEmitter2> GridEmitter2Ptr;
71 
72 } // namespace jet
73 
74 #endif // INCLUDE_JET_GRID_EMITTER2_H_
animation.h
jet::GridEmitter2::~GridEmitter2
virtual ~GridEmitter2()
Destructor.
jet::GridEmitter2::GridEmitter2
GridEmitter2()
Constructs an emitter.
jet::GridEmitter2::update
void update(double currentTimeInSeconds, double timeIntervalInSeconds)
implicit_surface2.h
jet
Definition: advection_solver2.h:18
jet::GridEmitter2::isEnabled
bool isEnabled() const
Returns true if the emitter is enabled.
jet::GridEmitter2
Abstract base class for 2-D grid-based emitters.
Definition: grid_emitter2.h:22
jet::GridEmitter2::OnBeginUpdateCallback
std::function< void(double, double)> OnBeginUpdateCallback
Callback function type for update calls.
Definition: grid_emitter2.h:30
jet::GridEmitter2::onUpdate
virtual void onUpdate(double currentTimeInSeconds, double timeIntervalInSeconds)=0
scalar_grid2.h
jet::GridEmitter2::setIsEnabled
void setIsEnabled(bool enabled)
Sets true/false to enable/disable the emitter.
jet::GridEmitter2::setOnBeginUpdateCallback
void setOnBeginUpdateCallback(const OnBeginUpdateCallback &callback)
Sets the callback function to be called when GridEmitter2::update function is invoked.
jet::GridEmitter2Ptr
std::shared_ptr< GridEmitter2 > GridEmitter2Ptr
Shared pointer type for the GridEmitter2.
Definition: grid_emitter2.h:70