105 |
{ |
{ |
106 |
class ForceField { |
class ForceField { |
107 |
public: |
public: |
108 |
virtual ~ForceField() {} |
virtual ~ForceField() {} |
109 |
virtual V2 get_force(Actor *a, V2 x, V2 v, double time)=0; |
virtual V2 get_force(Actor *a, V2 x, V2 v, double time)=0; |
110 |
virtual void tick(double dtime) {} |
virtual void tick(double /*dtime*/) {} |
111 |
}; |
}; |
112 |
|
|
113 |
class ConstantForce : public ForceField { |
class ConstantForce : public ForceField { |
114 |
public: |
public: |
115 |
ConstantForce(V2 f) : force(f) |
ConstantForce(V2 f) : force(f) {} |
116 |
{} |
V2 get_force(Actor */*a*/,V2 /*x*/, V2 /*v*/, double /*time*/) { |
117 |
V2 get_force(Actor *a,V2 x, V2 v, double time) { |
return force; |
118 |
return force; |
} |
|
} |
|
119 |
private: |
private: |
120 |
V2 force; |
V2 force; |
121 |
}; |
}; |
122 |
} |
} |
123 |
|
|