Verified Commit 55bac498 authored by Romain De Laage De Bellefaye's avatar Romain De Laage De Bellefaye 🌳
Browse files

Remove gcc unused parametor warning

parent 80648dc0
Pipeline #79767 passed with stage
in 16 seconds
......@@ -18,8 +18,7 @@ class RegleGen {
virtual ~RegleGen() = default;
/// Vérifier si une règle est vérifiée
/// @param[in] voisins Le voisinage de la cellule pour laquelle on vérifie la règle
/// @param[in] cellule La cellule pour laquelle on vérifie la règle
virtual bool verify(const Voisinage& voisins, const Cellule& cellule) const = 0;
virtual bool verify(const Voisinage& voisins) const = 0;
/// Utilisé pour obtenir l'état courant de la règle s'il existe, n'a pas de sens pour toutes donc on préfère mettre -1 par défaut
virtual int getCourant() const { return -1; }
/// Obtenir la destination de cette règle
......@@ -42,8 +41,7 @@ class Regle: public RegleGen {
Regle(const Etat& nDestination, const int nSeuilsMin[8], const int nSeuilsMax[8]);
/// Vérifier si une règle est vérifiée
/// @param[in] voisins Le voisinage de la cellule pour laquelle on vérifie la règle
/// @param[in] cellule La cellule pour laquelle on vérifie la règle
virtual bool verify(const Voisinage& voisins, const Cellule& cellule) const override;
virtual bool verify(const Voisinage& voisins) const override;
/// Obtenir le seuil minimum du nombre de voisins requis pour un état donné afin de valider la règle
/// Principalement utilisé pour sauvegarder une règle de transition
/// @param[in] i numéro de l'état
......@@ -70,8 +68,7 @@ class RegleAvecEtatCourant: public Regle {
RegleAvecEtatCourant(const Etat& nDestination, const int nSeuilsMin[8], const int nSeuilsMax[8], const int nEtat);
/// Vérifier si une règle est vérifiée
/// @param[in] voisins Le voisinage de la cellule pour laquelle on vérifie la règle
/// @param[in] cellule La cellule pour laquelle on vérifie la règle
bool verify(const Voisinage& voisins, const Cellule& cellule) const override;
bool verify(const Voisinage& voisins) const override;
/// Obtenir l'état courant requis pour valider la règle
/// Principalement utilisé pour sauvegarder une règle de transition
int getCourant() const override { return static_cast<int>(etatCourant); }
......@@ -109,7 +106,7 @@ class Fonction {
/// Appliquer la fonction de transition à une cellule et obtenir son prochain état
/// @param[in] voisins voisins de la cellule à laquelle appliquer la fonction
/// @param[in] cellule cellule à laquelle appliquer la fonction
virtual const Etat& getEtatSuivant(const Voisinage& voisins, const Cellule& cellule) const;
virtual const Etat& getEtatSuivant(const Voisinage& voisins) const;
/// Accesseur sur la liste de règles, il est impossible de modifier les règles de cette manière, la liste est en lecture seule
const std::list<Regle*>& getRules() const { return regles; }
};
......
......@@ -12,7 +12,7 @@ void Automate::nextTimer() {
for(size_t j = 0; j < l; ++j) {
Voisinage voisinage(&(*(--buffer.end())).getReseau()[i][j]);
regleVoisinage->calculVoisinage(voisinage, *(--buffer.end()));
const Etat e = fonction->getEtatSuivant(voisinage, (*(--buffer.end())).getReseau()[i][j]);
const Etat e = fonction->getEtatSuivant(voisinage);
while(r.getReseau()[i][j].getIndEtat() != e.getIndice())
r.getReseau()[i][j].incrementerEtat();
}
......
#include <Fonction.h>
bool RegleAvecEtatCourant::verify(const Voisinage& voisins, const Cellule& cellule) const {
if(cellule.getIndEtat() != etatCourant)
bool RegleAvecEtatCourant::verify(const Voisinage& voisins) const {
if(voisins.getCelluleCentre().getIndEtat() != etatCourant)
return false;
return Regle::verify(voisins, cellule);
return Regle::verify(voisins);
}
bool Regle::verify(const Voisinage& voisins, const Cellule& cellule) const {
bool Regle::verify(const Voisinage& voisins) const {
int nb[8] = {0};
auto *cellules = voisins.creerIterator();
......@@ -28,9 +28,9 @@ bool Regle::verify(const Voisinage& voisins, const Cellule& cellule) const {
return true;
}
const Etat& Fonction::getEtatSuivant(const Voisinage& voisins, const Cellule& cellule) const {
const Etat& Fonction::getEtatSuivant(const Voisinage& voisins) const {
for(const auto& regle: regles)
if (regle->verify(voisins, cellule))
if (regle->verify(voisins))
return regle->getDestination();
return etatDefaut;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment