diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2023-01-13 19:37:56 -0500 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2023-01-13 19:37:56 -0500 |
commit | 6a20ac2049d7e9fbf827838259911bf0899f46d9 (patch) | |
tree | 4b96dfc05bbd03da1d80bd2369b339dac5041c10 /couche.cpp | |
parent | bd3b390064aa8dee26845dc6fcc1b5d79773a167 (diff) | |
parent | 86fbed0811fc4ef36ffb66b3f774df61eb87c24b (diff) |
Fix gitignore merge
Diffstat (limited to 'couche.cpp')
-rw-r--r-- | couche.cpp | 71 |
1 files changed, 70 insertions, 1 deletions
@@ -8,4 +8,73 @@ #include "couche.h" -// Implementation a faire... +Couche::Couche() { + state = STATE_INIT; + Vecteur vecteur; +}; + +Couche::~Couche() { + vecteur.vider(); +}; + +int Couche::getEtat() { + return state; +}; + +Forme *Couche::getForme(int index) { + return vecteur.getForme(index); +}; + +double Couche::aire() { + double aire = 0; + for (int i = 0; i < vecteur.getTaille(); i++) { + aire += vecteur.getForme(i)->aire(); + }; + return aire; +}; + +void Couche::afficher(ostream &s) { + if (state == STATE_INIT) { + s << "Couche initialisée\n"; + } else { + vecteur.afficher(s); + }; +}; + +bool Couche::changerEtat(int newState) { + if ( newState>=STATE_INIT && newState<=STATE_INACTIVE ) { + state = newState; + return true; + }; + return false; +}; + +bool Couche::translater(int deltaX, int deltaY) { + if (state != STATE_ACTIVE) return false; + for (int i = 0; i < vecteur.getTaille(); i++) + vecteur.getForme(i)->translater(deltaX, deltaY); + return true; +}; + +bool Couche::ajouterForme(Forme *f) { + if (state != STATE_ACTIVE) return false; + return vecteur.ajouterForme(f); +}; + +Forme *Couche::supprimerForme(int index) { + if (state != STATE_ACTIVE) { + return NULL; + } else { + return vecteur.supprimerForme(index); + }; + return vecteur.supprimerForme(index); +}; + +bool Couche::reinitialiser() { + if (state == STATE_INIT) return false; + state = STATE_INIT; + vecteur.vider(); + return true; +}; + + |