Engine
time_integrator.h
1 #ifndef TIME_INTEGRATOR_H
2 #define TIME_INTEGRATOR_H
3 #include <Eigen/Core>
4 #include <GL/glew.h>
5 #include <vector3G.h>
6 #include <net_force_accumulator.h>
7 
12 {
13  protected:
14  GLfloat m_dt;
15 
16  public:
17  virtual ~TimeIntegrator(){};
18 
27  void StepForward(
28  const NetForceAccumulator& net_force_accumulator,
29  const std::vector<std::shared_ptr<PhysicsEntity>> &entity_ptrs,
30  const std::shared_ptr<PhysicsEntity> entity_ptr);
31 
35  GLfloat GetStepSize();
36 
37  private:
44  virtual void Solve(
45  const NetForceAccumulator& net_force_accumulator,
46  const std::vector<std::shared_ptr<PhysicsEntity>> &entity_ptrs,
47  const std::shared_ptr<PhysicsEntity> entity_ptr) = 0;
48 };
49 #endif
An abstact base class for all grid based numerical ODE solvers for Newton&#39;s laws. ...
Definition: time_integrator.h:11
void StepForward(const NetForceAccumulator &net_force_accumulator, const std::vector< std::shared_ptr< PhysicsEntity >> &entity_ptrs, const std::shared_ptr< PhysicsEntity > entity_ptr)
Definition: time_integrator.cpp:4
Definition: net_force_accumulator.h:14
GLfloat GetStepSize()
Definition: time_integrator.cpp:15