/*!\file main.h * * \author SOUPLET Antoine * \version 1.0 * \date 13-01-2012 * * \brief Fichier contenant les entêtes de fonctions de recherche d'arguments en ligne de commande, d'affichage de menu ou d'aide, et surtout la fonction main du programme * */ /*!\fn int main(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Fonction main du programme * * \pre * \post * * \param argc : Un entier représentant le nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments d'execution du programme * \return Un entier * */ int main(int argc, char** argv); /*!\fn int searchArgW(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant à la largeur de l'écran * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Un entier correspondant à la largeur de l'écran * */ int searchArgW(int argc, char** argv); /*!\fn int searchArgH(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant à la largeur de l'écran * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Un entier correspondant à la hauteur de l'écran * */ int searchArgH(int argc, char** argv); /*!\fn void drawFractal(int argc, char** argv, int i_width, int i_height, double* pd_zoom, int i_fractalNumber) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lancant les traitements des différentes fractales * * \pre * \post * * \param argc : nombre d'argument d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \param i_width : Un entier correspondant à la largeur de l'écran * \param i_height : Un entier correspondant à la hauteur de l'écran * \param pd_zoom : Un pointeur vers un double représentant le zoom * \param i_fractalNumber : Un entier représentant le numéro de la fractale à dessiner * */ void drawFractal(int argc, char** argv,int i_width, int i_height, double* pd_zoom, int i_fractalNumber); /*!\fn double searchZoom(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant au zoom * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Un double correspondant au zoom * */ double searchZoom(int argc, char** argv); /*!\fn char* searchFileOfFlame(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant au nom du fichier Flamme * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Une chaine de caractère correspondant au num du fichier Flamme * */ char* searchFileOfFlame(int argc, char** argv); /*!\fn char* searchFileOfIFS(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant au nom du fichier IFS * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Une chaine de caractère correspondant au num du fichier Flamme * */ char* searchFileOfIFS(int argc, char** argv); /*!\fn char* searchFileOfLSystem(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche un argument de la ligne de commande correspondant au nom du fichier L-System * * \pre * \post * * \param argc : nombre d'arguments d'execution du programme * \param argv : Un tableau de chaines de caractères correspondant aux arguments du programme * \return Une chaine de caractère correspondant au num du fichier L-System * */ char* searchFileOfLSystem(int argc, char** argv); /*!\fn int searchFractal(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 05-10-2011 * * \brief Recherche dans les arguments de la ligne de commande la fractale à dessinée et retourne le numéro de fractale associée * * \pre * \post * * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * \return Un entier correspondant au numéro de la fractale à dessiner * */ int searchFractal(int argc, char** argv); /*!\fn Point* searchPointCoeffJulia(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction recherchant les coefficients de Julia dans les arguments saisis par l'utilisateur * * \pre * \post * * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * \return Un pointeur vers un point correspondant aux coefficients de Julia * */ Point* searchPointCoeffJulia(int argc, char** argv); /*!\fn int isFullScreen(int argc, char** argv) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction recherchant l'argument indiquant si le lancement doit être effectué en fullscreen, retourne 1 si on lance le fichier en fullScreen * * \pre * \post * * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * \return Un entier indiquant si l'option fullScreen est active * */ int isFullScreen(int argc, char** argv); /*!\fn void launchMandelbrot(int i_width, int i_height, double* pd_zoom, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement de la fractale de mandelbrot * * \pre * \post * * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * */ void launchMandelbrot(int i_width, int i_height, double *pd_zoom, int i_fullScreen); /*!\fn void launchJulia(Point* ppoint_coeffC, int i_width, int i_height, double* pd_zoom, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement de la fractale de Julia * * \pre * \post * * \param ppoint_coeffC : Un pointeur vers un point représentant les coefficients de Julia * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * */ void launchJulia(Point* ppoint_coeffC, int i_width, int i_height, double *pd_zoom, int i_fullScreen); /*!\fn void launchJulia2(Point* ppoint_coeffC, int i_width, int i_height, double* pd_zoom, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement de la fractale de Julia en temps réel * * \pre * \post * * \param ppoint_coeffC : Un pointeur vers un point représentant les coefficients de Julia * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * */ void launchJulia2(Point *ppoint_coeffC, int i_width, int i_height, double *pd_zoom, int i_fullScreen); /*!\fn void launchLsystem(int i_width, int i_height, double* pd_zoom, int argc, char** argv, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement des fractales de type L-System * * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * */ void launchLsystem(int i_width, int i_height, double* pd_zoom, int argc, char** argv, int i_fullScreen); /*!\fn void launchIfs(int i_width, int i_height, double* pd_zoom, int argc, char** argv, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement de la fractale de type Ifs * * \pre * \post * * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * */ void launchIfs(int i_width, int i_height, double *pd_zoom, int argc, char** argv, int i_fullScreen); /*!\fn void launchFlame(int i_width, int i_height, double* pd_zoom, int argc, char** argv, int i_fullScreen) * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction lançant le traitement de la fractale de type Flamme * * \pre * \post * * \param i_width : Un entier représentant la largeur de l'écran * \param i_height : Un entier représentant la largeur de l'écran * \param pd_zoom : Un pointeur vers un zoom * \param i_fullScreen : Un entier indiquant si on ouvre l'écran en fullScreen * \param argc : nombre d'argument d'execution du programme * \param argv : chaine de caractère correspondant aux arguments du programme * */ void launchFlame(int i_width, int i_height, double *pd_zoom, int argc, char** argv, int i_fullScreen); /*!\fn int displayMenu() * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction affichant le menu * * \post * * \return Un entier correspondant au choix du menu * */ int displayMenu(); /*!\fn void showMenu() * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction affichant le menu * */ void showMenu(); /*!\fn void showFlame() * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction affichant les différentes flammes * */ void showFlame(); /*!\fn void displayHelp() * * \author SOUPLET Antoine * \version 1.0 * \date 11-01-2012 * * \brief Fonction affichant l'aide * */ void displayHelp(); /*!\fn int isCorrectFlameNumber(char* pc_flameNumber) * * \author SOUPLET Antoine * \version 1.0 * \date 13-01-2012 * * \brief * * \pre * \post * * \param pc_flameNumber : Numéro de la fractale Flame * \return un entier, 1 si le numéro est correct, 0 sinon * */ int isCorrectFlameNumber(char* pc_flameNumber); /*!\fn int isCorrectIfsNumber(char* pc_ifsNumber) * * \author SOUPLET Antoine * \version 1.0 * \date 13-01-2012 * * \brief Vérifie que le numéro de la fractale Ifs est correct * * \pre * \post * * \param pc_ifsNumber : Numéro de la fractale Ifs * \return un entier, 1 si le numéro est correct, 0 sinon * */ int isCorrectIfsNumber(char* pc_ifsNumber); /*!\fn char* displayFlameChoice() * * \author SOUPLET Antoine * \version 1.0 * \date 13-01-2012 * * \brief Affiche les différentes flammes prédéfinies à l'utilisateur * * \return Le numéro de la flamme prédéfinie * */ char* displayFlameChoice();