diff options
author | Jakob Odersky <jodersky@gmail.com> | 2011-04-25 12:58:55 +0000 |
---|---|---|
committer | Jakob Odersky <jodersky@gmail.com> | 2011-04-25 12:58:55 +0000 |
commit | 9b765d14760bddc1caac167e938670031d70a864 (patch) | |
tree | c05b21ebe8f771e638d5fc4a943d7212119d9999 /src/main/Particle.cc | |
parent | 0398843f48f15028c537a1dc1aefaa9cf5141896 (diff) | |
download | vhc-9b765d14760bddc1caac167e938670031d70a864.tar.gz vhc-9b765d14760bddc1caac167e938670031d70a864.tar.bz2 vhc-9b765d14760bddc1caac167e938670031d70a864.zip |
*J'ai revu les 3 premier exercises du projet et modifie quelques reponses (jusqu'a P7.2 compris) et fichiers tests.
*Rajoute la classe MutableVector3D pour representer des vecteurs mutables.
Diffstat (limited to 'src/main/Particle.cc')
-rw-r--r-- | src/main/Particle.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/main/Particle.cc b/src/main/Particle.cc index 405b6b5..230f049 100644 --- a/src/main/Particle.cc +++ b/src/main/Particle.cc @@ -33,14 +33,16 @@ Vector3D Particle::getPosition() const {return position;} void Particle::setPosition(const Vector3D& pos) {position = pos;} +void Particle::translate(const Vector3D& dx) {position += dx;} + Vector3D Particle::getForce() const {return force;} void Particle::setForce(const Vector3D& f) {force = f;} -void Particle::applyForce(const Vector3D& f) {force = force + f;} +void Particle::applyForce(const Vector3D& f) {force += f;} void Particle::applyMagneticForce(const Vector3D& b, double dt) { - if (b != Vector3D::Null) { + if (dt != 0 && b != Vector3D::Null) { Vector3D f = charge * velocity.cross(b); applyForce(f.rotate(velocity.cross(f), (dt * f.norm()) / (2 * gamma * mass * velocity.norm()))); } |