![]() |
Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
|
00001 00005 #ifndef OBSTACLE_H 00006 #define OBSTACLE_H 00007 00008 #include "Element.h" 00009 #include "Vecteur.h" 00010 00011 class Systeme; 00012 00018 class Obstacle: public Element 00019 { 00020 public: 00027 Obstacle(Vecteur const& origine = Vecteur(3), Vecteur const& normale = Vecteur(0,0,1), double const& alpha = 0.8 ); 00028 00032 virtual ~Obstacle(); 00033 00040 virtual Vecteur pointPlusProche(ObjetMobile const& objet) const = 0; 00041 00046 virtual void agit_sur(ObjetMobile& objet); 00047 00052 virtual void ajoute_a(Systeme* syst); 00053 00058 virtual double distance(ObjetMobile const& objet) const; 00059 00064 Vecteur const& normale() const; 00065 00070 Vecteur const& origine() const; 00071 00076 double const& alpha() const; 00077 00078 00079 private: 00083 Vecteur const m_origine; 00084 00088 Vecteur const m_normale; 00089 00093 double const m_alpha; 00094 00095 }; 00096 00097 #endif /* OBSTACLE_H */