const SelfBehavior = require("./SelfBehavior");
/**
* `Force` is a `SelfBehavior` that applies a constant force on the particle.
* @extends {SelfBehavior}
*/
class Force extends SelfBehavior {
/**
* Instantiates new Force behavior object
* @constructor
*/
constructor(force) {
super();
this.force = force;
}
/**
* @override
* @param {Particle} particle
* @param {Number} timeStep
*/
applyBehavior(particle, timeStep) {
//particle.applyForce(this.force, timeStep);
//particle.pos = particle.pos.add(this.force.mult(timeStep * timeStep / particle.mass));
particle.pos.addTo(this.force.mult(timeStep * timeStep / particle.mass));
}
/**
* @override
* @param {Particle} particle
*/
applyCorrection(particle) {
return;
}
}
module.exports = Force;