Incendie
Public Slots | Signals | Public Member Functions | Protected Member Functions | List of all members
FireWidget Class Reference

#include <firewidget.h>

Inheritance diagram for FireWidget:

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
 
ForetgetForet () 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)
 

Detailed Description

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.

Author
Ugo et Florian

Constructor & Destructor Documentation

FireWidget::FireWidget ( )

Initialise les différents pointeurs et fixe la taille minimale du widget

Author
Ugo et Florian
Parameters
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

Member Function Documentation

void FireWidget::actionReceived ( int  x)
slot

Execute l'action choisie sur une zone, suite à releaseMouseEvent. 0 correspond à une coupure, 1 à un retardateur

Author
Ugo

reinitialise la foret

Author
Florian et un petit peu Ugo :p
Deprecated:
void FireWidget::delForest ( )

Méthodes de destruction de la forêt pour gérer la ré-initialisation de la matrice

Author
Florian
void FireWidget::delPicture ( )

Crée une nouvelle image de fond vierge

Author
Florian
void FireWidget::drawCell ( int  colonne,
int  ligne 
)

Imprime une cellule à une position donnée, utilise la couleur courante

Author
Florian
Parameters
intcol,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

Author
Florian and Ugo
void FireWidget::drawForest ( )

Dessine les arbres et cellules vides dans le buffer

Author
Ugo et Florian
void FireWidget::drawList ( std::list< Arbre * > *  arbres)

Dessine l'ensemble des arbres de la liste passée en paramètre

Parameters
arbresliste des arbres à dessiner
Author
Florian et Ugo (commentaires :p )
void FireWidget::drawTree ( const Arbre ab)

Imprime un arbre selon sa position, utilise la couleur courante.

Author
Florian
Parameters
abarbre à dessiner
Deprecated:
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

Author
Florian et Ugo
Parameters
allidentiques au constructeur de Foret aléatoire
void FireWidget::loadFromPicture ( int  largeurImage,
int  hauteurImage,
QImage *  imageForet,
float  coef_brulure 
)

Fonction à commenter par son auteur :p

Author
Florian
Parameters
imageForetimage de la forêt à charger
coef_brulurecoefficient de brulure de la nouvelle forêt
otherstaille de l'image/forêt
void FireWidget::mousePressEvent ( QMouseEvent *  event)
protected
bool FireWidget::next ( )
slot

Passe de l'etat t à t+1 la foret

Author
Florian
Returns
vrai si la foret a ete modifiée
void FireWidget::redraw ( )

Vide le buffer et rafraichit l'affichage

Author
Florian et Ugo
void FireWidget::releaseSignal ( )
signal

Récupere l'action sélectionnée dans les menus

Author
Ugo TODO Ugo comment
void FireWidget::resizeEvent ( QResizeEvent *  event)
protected
Author
void FireWidget::setWind ( int  angle,
int  vitesse 
)
inlineslot

Met à jour les valeurs du vent dans la forêt

Parameters
anglenouvel angle du vent
vitessenouvelle vitesse du vent
bool FireWidget::tryAllumerFeu ( int  colonne,
int  ligne 
)

Eteint un arbre à une position donnée

Author
Florian
Parameters
int/intindices de la colonne et de la ligne de l'arbre à éteindre
Returns
vrai si il y avait un arbre en feu Allume un feu sur un arbre "vivant"
Author
Florian
Parameters
colonnede l'arbre à enflammer
lignede l'arbre à enflammer
Returns
vrai si il y avait un arbre enflammable
bool FireWidget::tryDrawPicture ( )

Tente de dessiner la photo de foret dans le buffer

Author
Florian
Returns
faux si il n'y a pas d'image de forêt de chargée
bool FireWidget::tryDrawPictureForest ( )

Dessine la forêt avec une image en dessous Les arbres ne sont donc pas dessinés

Author
Florian
bool FireWidget::tryFinirFeu ( int  colonne,
int  ligne 
)

Opere une combustion complete sur un arbre en feu (IMPROVEIT faire sur les arbres non en feu ?)

Author
Florian
Parameters
ligne
colonneligne et colonne de l'arbre à bruler totalement
Returns
vrai si il y avait un arbre en feu
bool FireWidget::tryInitialise ( int  largeur,
int  hauteur,
std::ifstream *  file 
)

Fonction de création d'une foret, à partir d'un fichier de sauvegarde OUVERT

Author
Florian et Ugo
Parameters
largeurde la nouvelle forêt
hauteurde la nouvelle forêt
filefichier binaire, ouvert, contenant la sauvegarde de la forêt (essences-arbres), dont les tailles ont déjà été lues lors de la (ré)initialisation
Returns
vrai si le fichier est ouvert
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

Author
Florian et Ugo
Parameters
largeurde la nouvelle forêt
hauteurde la nouvelle forêt
imageForetimage d'une foret, pour l'instant une image converie du jpg au tif
Returns
vrai si l'image est chargée
bool FireWidget::trySaveForest ( std::string &  filePath) const

Sauvegarde la foret dans un fichier de sauvegarde

Author
Florian
Parameters
filePathchemin du nouveau fichier de sauvegarde
Returns
vrai si la sauvegarde réussie
bool FireWidget::trySaveImage ( QString  filename) const

Sauvegarde la forêt sous forme d'image

Author
Florian
Parameters
filePathchemin du nouveau fichier de sauvegarde
Returns
vrai si la sauvegarde réussi
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

Author
Florian
Parameters
filePathchemin du nouveau fichier de sauvegarde

The documentation for this class was generated from the following files: