Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
include/Pendule.h
Aller à la documentation de ce fichier.
00001 
00005 #ifndef PENDULE_H
00006 #define PENDULE_H
00007 
00008 #include <string>
00009 #include <QFormLayout>
00010 #include <iostream>
00011 #include "Vecteur.h"
00012 #include "ObjetMobile.h"
00013 
00020 class Pendule : public ObjetMobile
00021 {
00022     public:
00023 
00037         Pendule(Vecteur const& omega = Vecteur(1), Vecteur const& d_omega = Vecteur(1), double const& rayon = 0.1, double const& masse_volumique = 1, Vecteur const& force = Vecteur(3), double const& longueur = 10 , double const& frottement = 1, Vecteur const& direction = Vecteur(1,0,0), Vecteur const& attache = Vecteur(3), Couleur const& color  = Couleur(1,0,0,1));
00038 
00042         virtual ~Pendule();
00043 
00048         virtual Vecteur evolution() const;
00049 
00054         double const& longueur() const;
00055 
00060         double const& frottement() const;
00061 
00066         Vecteur const& direction() const;
00067 
00068 
00073         virtual Vecteur position() const;
00074 
00079         virtual Vecteur vitesse() const;
00080 
00085         virtual void set_vitesse(Vecteur const& new_vitesse);
00086 
00091         virtual void ajoute_force(Vecteur const& df);
00092 
00097         Vecteur const& attache() const;
00098 
00104         virtual std::string type() const;
00105 
00110         virtual QFormLayout* proprietesLayout() const;
00111 
00116         virtual void enregistrer(std::ofstream& out) const;
00117 
00118 
00119     protected:
00120 
00125         virtual void affiche(std::ostream& out) const;
00126 
00127     private:
00128 
00132         double const m_longueur;
00133 
00137         double const m_frottement;
00138 
00142         Vecteur const m_direction;
00143 
00147         Vecteur const m_attache;
00148 
00149 };
00150 
00151 #endif
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Énumérations Valeurs énumérées Amis