00001 #ifndef _dynamics_hh_ 00002 #define _dynamics_hh_ 00003 00004 #include "acceleration.hh" 00005 #include "spinvelocity.hh" 00006 #include "force.hh" 00007 #include "vector.hh" 00008 #include <vector> 00009 00010 namespace anoid { 00011 namespace plugin { 00012 00019 class Dynamics: public Acceleration, public SpinVelocity { 00020 protected: 00021 std::vector<Force *> forces; 00022 double constantOfRestitution; 00023 public: 00024 virtual void init(config::Configuration &c); 00025 virtual void update(); 00026 virtual void redraw(); 00027 virtual base::Object *add(base::Object *o); 00028 virtual void receive(base::Message *m); 00029 Dynamics(): Acceleration(), SpinVelocity(), Ability(), constantOfRestitution(1.0) { } 00030 }; 00031 00032 }; 00033 }; 00034 00035 #endif