Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Romain De Laage De Bellefaye
LO21-projet
Commits
d9d8c723
Verified
Commit
d9d8c723
authored
Jun 11, 2021
by
Romain De Laage De Bellefaye
🌳
Browse files
Improve doc
parent
0ba65699
Pipeline
#79684
passed with stage
in 15 seconds
Changes
5
Pipelines
1
Show whitespace changes
Inline
Side-by-side
includes/Automate.h
View file @
d9d8c723
...
...
@@ -68,11 +68,15 @@ class Automate {
return
*
instance
;
}
/// Définir la fonction de transition de l'automate, le cycle de vie de la focntion est géré par l'utilisateur
/// Définir la fonction de transition de l'automate
///
/// L'objet est géré dynamiquement par l'utilisateur mais une fois donnné à l'automate il gère son cycle de vie
void
setFonction
(
Fonction
&
f
)
{
fonction
=
&
f
;
}
/// Récupérer la fonction de transition
const
Fonction
&
getFonction
()
const
{
return
*
fonction
;
}
/// Définir une règle de voisinage, le cycle de vie de la règle est géré par l'utilisateur
/// Définir une règle de voisinage
///
/// L'objet est géré dynamiquement par l'utilisateur mais une fois donnné à l'automate il gère son cycle de vie
void
setRegleVoisinage
(
RegleVoisinage
&
r
)
{
regleVoisinage
=
&
r
;
}
/// Récupérer la règle de voisinage
const
RegleVoisinage
&
getRegleVoisinage
()
const
{
return
*
regleVoisinage
;
}
...
...
@@ -147,6 +151,7 @@ class Automate {
/// Redéfinir le nom de l'automate
void
setYear
(
const
int
y
)
{
year
=
y
;
}
/// Réinitialiser totalement la configuration de l'automate
void
reinitialiserAutomate
();
};
...
...
includes/Fonction.h
View file @
d9d8c723
...
...
@@ -44,7 +44,13 @@ class Regle: public RegleGen {
/// @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
;
/// 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
int
getMin
(
const
size_t
i
)
{
if
(
i
>
0
&&
i
<=
8
)
return
seuilsMin
[
i
-
1
];
else
throw
"Invalid number!"
;
}
/// Obtenir le seuil maximum 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
int
getMax
(
const
size_t
i
)
{
if
(
i
>
0
&&
i
<=
8
)
return
seuilsMax
[
i
-
1
];
else
throw
"Invalid number!"
;
}
};
...
...
@@ -66,6 +72,8 @@ class RegleAvecEtatCourant: public Regle {
/// @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
;
/// 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
);
}
};
...
...
includes/autocell.h
View file @
d9d8c723
...
...
@@ -88,6 +88,7 @@ class AutoCell : public QWidget
friend
class
NouveauModele
;
public:
/// Obtenir une référence vers l'instance unique du singleton AutoCell
static
AutoCell
&
getInstance
()
{
if
(
instance
==
nullptr
)
{
instance
.
reset
(
new
AutoCell
);
...
...
@@ -99,27 +100,40 @@ class AutoCell : public QWidget
public
slots
:
//void chargerModele();
//void listerModele(); //à faire en dernier
/// slot pour charger les grilles disponibles pour le modèle sélectionné
void
chargerGrilles
();
//void listerGrille(); //déjà réfléchir à la recopie
//Reseau initialiserGrille(); //méthode à implémenter qui récupère les données du formulaire - penser à réinitialiser les données annexes
//void afficherGrille(Reseau&); //affiche une grille
//void chargerGrilles(const QString &text);
/// Afficher une grille dans l'espace dédié
void
afficherGrille
(
Reseau
*
Grille
);
/// Initialiser une grille
void
initialiserGrille
();
/// Remettre à 0 la simulation
void
RAZ
();
/// Gérer la mise en route automatique ou non
void
gererSimulation
();
//void sauvegarderGrille();
//Reseau& modifierCellule(const QModelIndex&, Reseau& Grille);//à implémenter
/// Modifier l'état d'une cellule de la grille affichée (par clic par exemple)
void
modifierCellule
(
const
QModelIndex
&
index
);
/// Sauvegarder la grille courante dans la BDD
void
sauvegarderGrille
();
/// Créer un nouveau modèle
void
defNouveauModele
();
/// Afficher une boîte d'erreur
void
afficherErreur
(
QString
&
msg
);
/// Initialiser un automate par son nom
void
initAutomate
(
const
QString
&
name
);
/// Changer le délai de l'automate
void
changeDelai
();
/// Aller en arrière dans la simulation
void
previous
();
/// Aller en avant dans la simulation
void
next
();
};
...
...
includes/autosql.h
View file @
d9d8c723
...
...
@@ -22,25 +22,37 @@ class Database {
Database
(
const
Database
&
a
)
=
delete
;
Database
(
std
::
string
path
);
public:
/// Obtenir une référence vers l'instance unique du singleton database
static
Database
&
getInstance
()
{
if
(
instance
==
nullptr
)
{
if
(
instance
==
nullptr
)
instance
.
reset
(
new
Database
(
"application.db"
));
}
return
*
instance
;
}
~
Database
()
{
db
.
close
();
}
/// Obtenir la liste de tous les noms d'automate disponibles
std
::
vector
<
QString
>
getAutomates
()
const
;
/// Obtenir la fonction d'un automate donné
Fonction
*
getFonction
(
Automate
&
a
)
const
;
/// Obtenir la règle de voisinage d'un automate par son nom
RegleVoisinage
*
getRegleVoisinage
(
const
QString
&
name
)
const
;
/// Obtenir la liste des grilles disponibles pour un automate par son nom
std
::
vector
<
QString
>
getListeReseaux
(
const
QString
&
name
)
const
;
/// Obtenir un réseau par son nom
Reseau
&
getReseau
(
int
idReseau
)
const
;
/// Sauvegarder un réseau en base de donnée
void
stockerReseau
(
const
Reseau
&
reseau
,
const
QString
&
nomReseau
,
const
QString
&
nomAutomate
)
const
;
/// Initialise l'ensemble d'état d'un automate
void
initEnsEtat
(
Automate
&
a
)
const
;
/// Sauvegarder un automate en BDD
void
saveAutomaton
(
const
Automate
&
a
)
const
;
/// Sauvegarder une fonction en BDD
void
saveFunction
(
const
QString
&
name
,
const
Fonction
&
f
)
const
;
/// Sauvegarder une règle de voisinage en BDD
void
saveVoisinage
(
const
QString
&
name
,
const
RegleVoisinage
&
r
)
const
;
/// Sauvegarder un ensemble d'états en BDD
void
saveEnsemble
(
Automate
&
a
)
const
;
/// initialiser le singleton automate depuis la bdd par son nom
void
initSingletonAutomate
(
const
QString
&
modele
)
const
;
};
...
...
includes/paramalpha.h
View file @
d9d8c723
...
...
@@ -25,8 +25,11 @@ class ParamAlpha: public QWidget {
QPushButton
*
valider
;
public:
/// Construire une fenêtre de paramétrage de l'alphabet
/// @param[in] nbEtats nombre d'états à initialiser
ParamAlpha
(
const
int
nbEtats
);
public
slots
:
/// Valider le paramétrage de l'alphabet, a pour effet de l'initialiser dans l'automate
void
valide
();
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment