00001 #pragma once
00002 #ifndef BL7_P2_FORCEGENERATOR_H
00003 #define BL7_P2_FORCEGENERATOR_H
00004
00005 #include "../core.h"
00006
00007
00008
00009 namespace bl7 {
00010 namespace particles2 {
00011
00012
00013
00014 class Particle;
00015 class Dynamics;
00016
00017
00018
00022 class BODYLABS_API ForceGenerator
00023 {
00024
00025
00026
00027
00028 public:
00030 ForceGenerator(void)
00031 { }
00032
00034 virtual ~ForceGenerator(void)
00035 { }
00036
00037 private:
00039 ForceGenerator(const ForceGenerator&);
00041 ForceGenerator& operator = (const ForceGenerator&);
00042
00043
00044
00045
00046
00047
00048 private:
00054 virtual void update_force(Particle* particle, const float time) = 0;
00055
00056
00057
00058 friend Dynamics;
00059
00060 };
00061
00062
00063
00064 }
00065 }
00066
00067 #endif // BL7_P2_FORCEGENERATOR_H