![]() |
Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
|
Classe représentant un système à simuler. Plus de détails...
#include <Systeme.h>
Connecteurs publics | |
void | set_dt (double const &new_dt) |
Manipulateur pour le pas de temps de Systeme::m_integrateur. | |
void | ajoute (ObjetMobile *objet) |
Ajoute un unique_ptr sur un ObjetMobile au vector Systeme::m_objets_mobiles. | |
void | ajoute (Obstacle *obstacle) |
Ajoute un unique_ptr sur un Obstacle au vector Systeme::m_obstacles. | |
void | ajoute (ChampForces *champ) |
Ajoute un unique_ptr sur un ChampForces au vector Systeme::m_champs. | |
void | ajoute (ObjetCompose *objet) |
Ajoute un ObjetCompose au Systeme. | |
void | set_integrateur (int const &index) |
Manipulateur pour le type d'Integrateur. | |
void | reset () |
Supprime tous les Elements du Systeme courant. | |
Signaux | |
void | newObjet (ObjetMobile *objet) |
Signal émit lors de l'ajout d'un ObjetMobile au Systeme. | |
void | newObstacle (Obstacle *obstacle) |
Signal émit lors de l'ajout d'un Obstacle au Systeme. | |
void | newChamp (ChampForces *champ) |
Signal émit lors de l'ajout d'un ChampForces au Systeme. | |
Fonctions membres publiques | |
Systeme (double const &dt=0.01, int const &integrateur=int(TypeIntegrateur::Euler)) | |
Construit un Systeme dont les attributs Systeme::m_objets_mobiles, Systeme::m_obstacles et Systeme::m_champs sont des vector vides. | |
Systeme (Systeme const &) | |
Suppression du constructeur de copie. | |
Systeme & | operator= (Systeme const &) |
Suppression de l'opérateur de copie. | |
void | evolue () |
Méthode d'évolution du système. | |
void | dessine () const |
Affiche le Systeme en bouclant sur Systeme::m_objets_mobiles, Systeme::m_obstacles et Systeme::m_champs et en appelant la méthode dessine de chaque élément. | |
std::vector< std::unique_ptr < ObjetMobile > > & | objets_mobiles () |
Accesseur pour Systeme::m_objets_mobiles. | |
std::vector< std::unique_ptr < Obstacle > > & | obstacles () |
Accesseur pour Systeme::m_obstacles. | |
std::vector< std::unique_ptr < ChampForces > > & | champs () |
Accesseur pour Systeme::m_champs. | |
double | dt () const |
Accesseur pour le pas de temps de Systeme::m_integrateur. | |
Attributs privés | |
std::vector< std::unique_ptr < ObjetMobile > > | m_objets_mobiles |
Collection de std::unique_ptr sur des objets de type ObjetMobile. | |
std::vector< std::unique_ptr < Obstacle > > | m_obstacles |
Collection de std::unique_ptr sur des objets de type Obstacle. | |
std::vector< std::unique_ptr < ChampForces > > | m_champs |
Collection de std::unique_ptr sur des objets de type ChampForces. | |
std::unique_ptr< Integrateur > | m_integrateur |
L'intégrateur pour la méthode Systeme::evolue. | |
Amis | |
std::ostream & | operator<< (std::ostream &out, Systeme const &a_afficher) |
Surcharge externe de l'opérateur "<<". |
Classe représentant un système à simuler.
Systeme::Systeme | ( | double const & | dt = 0.01 , |
int const & | integrateur = int(TypeIntegrateur::Euler) |
||
) |
Construit un Systeme dont les attributs Systeme::m_objets_mobiles, Systeme::m_obstacles et Systeme::m_champs sont des vector vides.
dt | Valeur du pas de temps, par défault 0,01 |
integrateur | Type d'Integrateur à utiliser, par défault TypeIntegrateur::Euler |
Systeme::Systeme | ( | Systeme const & | ) |
Suppression du constructeur de copie.
void Systeme::evolue | ( | ) |
Méthode d'évolution du système.
void Systeme::dessine | ( | ) | const |
Affiche le Systeme en bouclant sur Systeme::m_objets_mobiles, Systeme::m_obstacles et Systeme::m_champs et en appelant la méthode dessine de chaque élément.
vector< unique_ptr< ObjetMobile > > & Systeme::objets_mobiles | ( | ) |
Accesseur pour Systeme::m_objets_mobiles.
vector< unique_ptr< Obstacle > > & Systeme::obstacles | ( | ) |
Accesseur pour Systeme::m_obstacles.
vector< unique_ptr< ChampForces > > & Systeme::champs | ( | ) |
Accesseur pour Systeme::m_champs.
double Systeme::dt | ( | ) | const |
Accesseur pour le pas de temps de Systeme::m_integrateur.
void Systeme::set_dt | ( | double const & | new_dt | ) | [slot] |
Manipulateur pour le pas de temps de Systeme::m_integrateur.
new_dt | Nouveau pas de temps pour Systeme::m_integrateur |
void Systeme::ajoute | ( | ObjetMobile * | objet | ) | [slot] |
Ajoute un unique_ptr sur un ObjetMobile au vector Systeme::m_objets_mobiles.
objet | Pointeur sur l'ObjetMobile à ajouter au Systeme |
void Systeme::ajoute | ( | Obstacle * | obstacle | ) | [slot] |
Ajoute un unique_ptr sur un Obstacle au vector Systeme::m_obstacles.
obstacle | Pointeur sur l'Obstacle à ajouter au Systeme |
void Systeme::ajoute | ( | ChampForces * | champ | ) | [slot] |
Ajoute un unique_ptr sur un ChampForces au vector Systeme::m_champs.
champ | Pointeur sur le ChampForces à ajouter au Systeme |
void Systeme::ajoute | ( | ObjetCompose * | objet | ) | [slot] |
Ajoute un ObjetCompose au Systeme.
objet | Pointeur sur l'ObjetCompose à ajouter au Systeme |
void Systeme::set_integrateur | ( | int const & | index | ) | [slot] |
Manipulateur pour le type d'Integrateur.
index | Numéro du type d'Integrateur (cf TypeIntegrateur) |
void Systeme::reset | ( | ) | [slot] |
Supprime tous les Elements du Systeme courant.
void Systeme::newObjet | ( | ObjetMobile * | objet | ) | [signal] |
Signal émit lors de l'ajout d'un ObjetMobile au Systeme.
objet | Pointeur sur l'ObjetMobile ajouté au Systeme |
void Systeme::newObstacle | ( | Obstacle * | obstacle | ) | [signal] |
void Systeme::newChamp | ( | ChampForces * | champ | ) | [signal] |
Signal émit lors de l'ajout d'un ChampForces au Systeme.
champ | Pointeur sur le ChampForces ajouté au Systeme |
std::ostream& operator<< | ( | std::ostream & | out, |
Systeme const & | a_afficher | ||
) | [friend] |
Surcharge externe de l'opérateur "<<".
Affiche le Systeme
out | Flux de sortie |
a_afficher | Systeme à afficher |
std::vector< std::unique_ptr<ObjetMobile> > Systeme::m_objets_mobiles [private] |
Collection de std::unique_ptr sur des objets de type ObjetMobile.
std::vector< std::unique_ptr<Obstacle> > Systeme::m_obstacles [private] |
Collection de std::unique_ptr sur des objets de type Obstacle.
std::vector< std::unique_ptr<ChampForces> > Systeme::m_champs [private] |
Collection de std::unique_ptr sur des objets de type ChampForces.
std::unique_ptr<Integrateur> Systeme::m_integrateur [private] |
L'intégrateur pour la méthode Systeme::evolue.