|
Incendie
|
#include <firewidget.h>
Public Slots | |
| void | setWind (int angle, int vitesse) |
| bool | next () |
| void | actionReceived (int x) |
Signals | |
| void | releaseSignal () |
Public Member Functions | |
| FireWidget () | |
| void | initialise (int largeur, int hauteur, float proba=0.60, float coef_brulure=1.0, std::time_t graine=std::time(0)) |
| bool | tryInitialise (int largeur, int hauteur, std::ifstream *file) |
| bool | tryInitialise (int largeur, int hauteur, QImage *imageForet, float coef_brulure) |
| void | razRubber () |
| void | delForest () |
| void | delPicture () |
| int | getTailleCell () const |
| Foret * | getForet () const |
| void | loadFromPicture (int largeurImage, int hauteurImage, QImage *imageForet, float coef_brulure) |
| bool | trySaveForest (std::string &filePath) const |
| bool | trySaveSeed (std::string &filePath) const |
| bool | trySaveImage (QString filename) const |
| bool | tryAllumerFeu (int colonne, int ligne) |
| bool | tryFinirFeu (int colonne, int ligne) |
| void | drawCell (int colonne, int ligne) |
| void | drawTree (const Arbre *ab) |
| void | drawList (std::list< Arbre * > *arbres) |
| void | drawForest () |
| bool | tryDrawPicture () |
| bool | tryDrawPictureForest () |
| void | drawChanged () |
| void | redraw () |
Protected Member Functions | |
| void | mousePressEvent (QMouseEvent *event) |
| void | mouseMoveEvent (QMouseEvent *event) |
| void | mouseReleaseEvent (QMouseEvent *event) |
| void | resizeEvent (QResizeEvent *event) |
| void | paintEvent (QPaintEvent *event) |
Widget d'affichage de l'automate cellulaire. Ce composant permet de suivre graphiquement l'évolution de l'automate. Il utilise un système de buffering et s'appuie sur la classe Foret du moteur.
| FireWidget::FireWidget | ( | ) |
Initialise les différents pointeurs et fixe la taille minimale du widget
| int | _largeur : nombre de colonnes de la matrice |
| int | _hauteur : nombre de lignes de la matrice |
| float | _proba : probabilité qu'une cellule deviennent un arbre |
| float | _coef : coefficient de combustion de l'incendie |
|
slot |
Execute l'action choisie sur une zone, suite à releaseMouseEvent. 0 correspond à une coupure, 1 à un retardateur
reinitialise la foret
| void FireWidget::delForest | ( | ) |
Méthodes de destruction de la forêt pour gérer la ré-initialisation de la matrice
| void FireWidget::delPicture | ( | ) |
Crée une nouvelle image de fond vierge
| void FireWidget::drawCell | ( | int | colonne, |
| int | ligne | ||
| ) |
Imprime une cellule à une position donnée, utilise la couleur courante
| int | col,row indices de la colonne et de la ligne de la cellules |
| void FireWidget::drawChanged | ( | ) |
Redessine les arbres qui ont changés d'état, sur l'ancienne matrice On réutilise les cellules non susceptibles d'avoir été modifiées
| void FireWidget::drawForest | ( | ) |
Dessine les arbres et cellules vides dans le buffer
| void FireWidget::drawList | ( | std::list< Arbre * > * | arbres | ) |
Dessine l'ensemble des arbres de la liste passée en paramètre
| arbres | liste des arbres à dessiner |
| void FireWidget::drawTree | ( | const Arbre * | ab | ) |
Imprime un arbre selon sa position, utilise la couleur courante.
| ab | arbre à dessiner |
| void FireWidget::initialise | ( | int | largeur, |
| int | hauteur, | ||
| float | proba = 0.60, |
||
| float | coef_brulure = 1.0, |
||
| std::time_t | graine = std::time(0) |
||
| ) |
Fonction de création d'une foret ALEATOIRE lors de la (ré)initialisation, aléatoirement
| all | identiques au constructeur de Foret aléatoire |
| void FireWidget::loadFromPicture | ( | int | largeurImage, |
| int | hauteurImage, | ||
| QImage * | imageForet, | ||
| float | coef_brulure | ||
| ) |
Fonction à commenter par son auteur :p
| imageForet | image de la forêt à charger |
| coef_brulure | coefficient de brulure de la nouvelle forêt |
| others | taille de l'image/forêt |
|
protected |
|
slot |
Passe de l'etat t à t+1 la foret
| void FireWidget::redraw | ( | ) |
Vide le buffer et rafraichit l'affichage
|
signal |
Récupere l'action sélectionnée dans les menus
|
protected |
|
inlineslot |
Met à jour les valeurs du vent dans la forêt
| angle | nouvel angle du vent |
| vitesse | nouvelle vitesse du vent |
| bool FireWidget::tryAllumerFeu | ( | int | colonne, |
| int | ligne | ||
| ) |
Eteint un arbre à une position donnée
| int/int | indices de la colonne et de la ligne de l'arbre à éteindre |
| colonne | de l'arbre à enflammer |
| ligne | de l'arbre à enflammer |
| bool FireWidget::tryDrawPicture | ( | ) |
Tente de dessiner la photo de foret dans le buffer
| bool FireWidget::tryDrawPictureForest | ( | ) |
Dessine la forêt avec une image en dessous Les arbres ne sont donc pas dessinés
| bool FireWidget::tryFinirFeu | ( | int | colonne, |
| int | ligne | ||
| ) |
Opere une combustion complete sur un arbre en feu (IMPROVEIT faire sur les arbres non en feu ?)
| ligne | |
| colonne | ligne et colonne de l'arbre à bruler totalement |
| bool FireWidget::tryInitialise | ( | int | largeur, |
| int | hauteur, | ||
| std::ifstream * | file | ||
| ) |
Fonction de création d'une foret, à partir d'un fichier de sauvegarde OUVERT
| largeur | de la nouvelle forêt |
| hauteur | de la nouvelle forêt |
| file | fichier binaire, ouvert, contenant la sauvegarde de la forêt (essences-arbres), dont les tailles ont déjà été lues lors de la (ré)initialisation |
| bool FireWidget::tryInitialise | ( | int | largeur, |
| int | hauteur, | ||
| QImage * | imageForet, | ||
| float | coef_brulure | ||
| ) |
Fonction de création d'une foret ALEATOIRE lors de la (ré)initialisation, à partir d'une image
| largeur | de la nouvelle forêt |
| hauteur | de la nouvelle forêt |
| imageForet | image d'une foret, pour l'instant une image converie du jpg au tif |
| bool FireWidget::trySaveForest | ( | std::string & | filePath | ) | const |
Sauvegarde la foret dans un fichier de sauvegarde
| filePath | chemin du nouveau fichier de sauvegarde |
| bool FireWidget::trySaveImage | ( | QString | filename | ) | const |
Sauvegarde la forêt sous forme d'image
| filePath | chemin du nouveau fichier de sauvegarde |
| bool FireWidget::trySaveSeed | ( | std::string & | filePath | ) | const |
Sauvegarde la graine aléatoire et les caractéristiques de la forêt dans un fichier de sauvegarde
| filePath | chemin du nouveau fichier de sauvegarde |
1.8.11