Engine
linear_drag_force.h
1 #ifndef DRAG_FORCE_GENERATOR_H
2 #define DRAG_FORCE_GENERATOR_H
3 
4 #include <Eigen/Core>
5 #include "vector3G.h"
6 #include <memory>
7 #include "physics_entity.h"
8 
13 {
14  private:
15  GLfloat m_beta; // drag coefficent
16 
17  public:
18 
23 
28  LinearDragForceGenerator(GLfloat beta);
29 
33  GLfloat GetDragCoeff();
34 
39  void SetDragCoeff(GLfloat beta);
40 
46  void AccumulateForce(std::shared_ptr<PhysicsEntity> entity, Vector3Gf &F) const;
47 
53  void AccumulatedFdv(const std::shared_ptr<PhysicsEntity> entity, Eigen::Matrix<GLfloat,3,3> &dF) const;
54 
55 
56 };
57 
58 #endif
void SetDragCoeff(GLfloat beta)
Definition: linear_drag_force.cpp:18
Computes a simple linear drag force on the provided entity.
Definition: linear_drag_force.h:12
void AccumulatedFdv(const std::shared_ptr< PhysicsEntity > entity, Eigen::Matrix< GLfloat, 3, 3 > &dF) const
Definition: linear_drag_force.cpp:31
GLfloat GetDragCoeff()
Definition: linear_drag_force.cpp:13
LinearDragForceGenerator()
Definition: linear_drag_force.cpp:3
void AccumulateForce(std::shared_ptr< PhysicsEntity > entity, Vector3Gf &F) const
Definition: linear_drag_force.cpp:23