![]() |
Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
|
00001 00005 #ifndef BRIQUE_H 00006 #define BRIQUE_H 00007 00008 #include <string> 00009 #include <iostream> 00010 #include <QFormLayout> 00011 #include "Obstacle.h" 00012 #include "Vecteur.h" 00013 #include "Couleur.h" 00014 #include "ObjetMobile.h" 00015 00016 00022 class Brique: public Obstacle 00023 { 00024 public: 00039 Brique(Vecteur const& origine = Vecteur(3), Vecteur const& longueur = Vecteur(1,0,0), Vecteur const& largeur = Vecteur(0,1,0), double const& hauteur = 1, Couleur const& colorA = Couleur(0,1,1,1), Couleur const& colorB = Couleur(1,0,1,1), Couleur const& colorC = Couleur(1,1,0,1), Couleur const& colorD = Couleur(0.5,1,1,1), Couleur const& colorE = Couleur(1,0.5,1,1), Couleur const& colorF = Couleur(1,1,0.5,1), double const& alpha = 0.8); 00040 00044 virtual ~Brique(); 00045 00051 virtual Vecteur pointPlusProche(ObjetMobile const& objet) const; 00052 00057 Vecteur const& longueur() const; 00058 00063 Vecteur const& largeur() const; 00064 00069 double const& hauteur() const; 00070 00076 virtual std::string type() const; 00077 00082 virtual QFormLayout* proprietesLayout() const; 00083 00084 00089 virtual void enregistrer(std::ofstream& out) const; 00090 00091 protected: 00092 00097 virtual void affiche(std::ostream& out) const; 00098 00102 Couleur m_couleurA; 00103 00107 Couleur m_couleurB; 00108 00112 Couleur m_couleurC; 00113 00117 Couleur m_couleurD; 00118 00122 Couleur m_couleurE; 00123 00127 Couleur m_couleurF; 00128 00129 private: 00130 00134 Vecteur const m_longueur; 00135 00139 Vecteur const m_largeur; 00140 00144 double const m_hauteur; 00145 00146 }; 00147 00148 #endif /* BRIQUE_H */