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

UniformForce.cpp

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

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