Jet  v1.3.3
grid_emitter3.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_EMITTER3_H_
8 #define INCLUDE_JET_GRID_EMITTER3_H_
9 
10 #include <jet/animation.h>
11 #include <jet/implicit_surface3.h>
12 #include <jet/scalar_grid3.h>
13 
14 #include <utility>
15 #include <vector>
16 
17 namespace jet {
18 
22 class GridEmitter3 {
23  public:
30  typedef std::function<void(double, double)> OnBeginUpdateCallback;
31 
34 
36  virtual ~GridEmitter3();
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<GridEmitter3> GridEmitter3Ptr;
71 
72 } // namespace jet
73 
74 #endif // INCLUDE_JET_GRID_EMITTER3_H_
jet::GridEmitter3::GridEmitter3
GridEmitter3()
Constructs an emitter.
animation.h
scalar_grid3.h
jet::GridEmitter3::~GridEmitter3
virtual ~GridEmitter3()
Destructor.
jet
Definition: advection_solver2.h:18
jet::GridEmitter3
Abstract base class for 3-D grid-based emitters.
Definition: grid_emitter3.h:22
jet::GridEmitter3::isEnabled
bool isEnabled() const
Returns true if the emitter is enabled.
jet::GridEmitter3::update
void update(double currentTimeInSeconds, double timeIntervalInSeconds)
jet::GridEmitter3::onUpdate
virtual void onUpdate(double currentTimeInSeconds, double timeIntervalInSeconds)=0
implicit_surface3.h
jet::GridEmitter3::setOnBeginUpdateCallback
void setOnBeginUpdateCallback(const OnBeginUpdateCallback &callback)
Sets the callback function to be called when GridEmitter3::update function is invoked.
jet::GridEmitter3::OnBeginUpdateCallback
std::function< void(double, double)> OnBeginUpdateCallback
Callback function type for update calls.
Definition: grid_emitter3.h:30
jet::GridEmitter3::setIsEnabled
void setIsEnabled(bool enabled)
Sets true/false to enable/disable the emitter.
jet::GridEmitter3Ptr
std::shared_ptr< GridEmitter3 > GridEmitter3Ptr
Shared pointer type for the GridEmitter3.
Definition: grid_emitter3.h:70