Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

GravityForce.cpp

Go to the documentation of this file.
00001 
00006 #include "GravityForce.h"
00007 using namespace GraphicsLib;
00008 using namespace ParticleSystems;
00009 GravityForce::GravityForce(Vector *f, float a, float m) : Force(f,a) {
00010         magnitude = m;
00011 }
00012 
00013 GravityForce::~GravityForce() {
00014         delete force;
00015 }
00016 
00017 void GravityForce::applyForce(Vector *direction) {
00018         //if attenuation == 1 apply it fully
00019         if(attenuation) {
00020                 (*direction).x += magnitude * (*force).x;
00021                 (*direction).y += magnitude * (*force).y;
00022                 (*direction).z += magnitude * (*force).z;
00023                 (*direction).w += magnitude * (*force).w;
00024         } else {
00025                 (*direction).x += magnitude * (attenuation *  RandomPosNum((*force).x));
00026                 (*direction).y += magnitude * (attenuation *  RandomPosNum((*force).y));
00027                 (*direction).z += magnitude * (attenuation *  RandomPosNum((*force).z));
00028                 (*direction).w += magnitude * (attenuation *  RandomPosNum((*force).w));
00029         }
00030 }
00031 
00032 void GravityForce::applyForce(Vector *direction, float *mass) {
00033         //if attenuation == 1 apply it fully
00034         if(attenuation) {
00035                 (*direction)+=magnitude *(*force)/(*mass);
00036         } else {
00037                 (*direction).x += magnitude * (attenuation * RandomPosNum((*force).x)/(*mass));
00038                 (*direction).y += magnitude * (attenuation * RandomPosNum((*force).y)/(*mass));
00039                 (*direction).z += magnitude * (attenuation * RandomPosNum((*force).z)/(*mass));
00040                 (*direction).w += magnitude * (attenuation * RandomPosNum((*force).w)/(*mass));
00041         }
00042 }

Generated on Thu Mar 24 11:05:02 2005 for ParticleSystem by  doxygen 1.4.1