Main Page | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

Parameters Class Reference

Classe de lecture du fichier de configuration. More...

#include <Parameters.h>

Inherits CExpatImpl< Parameters >.

List of all members.

Public Member Functions

 Parameters (const char *filename)
 Lit un fichier de configuration.
bool useShaders ()
 Indique si les shaders doivent etre utilises pour le rendu.
bool renderWireframe ()
void toggleWireframe ()
 Change la modalite d'affichage entre wireframe et plein.
void toggleShaders ()
 Change la modalite d'utilisation des shaders.
unsigned int getCharsetKey (unsigned char key)
 Renvoie le code de l'action associee a une touche.
unsigned int getSpecialCharsetKey (int key)
 Renvoie le code de l'action associee a une touche speciale.
void OnStartElement (const XML_Char *pszName, const XML_Char **papszAttrs)
 Fonction de traitement d'une balise XML.

Private Member Functions

void setupDefaults ()
 Regle les valeurs par defaut pour toutes les touches.
void setupAction (unsigned int paramAction, void *paramVar, unsigned int alt, const char *paramName)
 Regle les informations de parsing d'une balise.
void setupActions ()
 Regle toutes les informations de parsing des balises.
void setupSpecialKeys ()
 Enregistre les associations entre les codes GLUT des touches speciales et les mots cle associes.

Private Attributes

bool _useShaders
 Indique si les shaders doivent etre utilises.
bool _renderWireframe
 Indique si la scene doit etre rendue en wireframe.
map< unsigned char, unsigned
int, ltchar
charSet
 Dictionnaire contenant les touches definies.
map< int, unsigned int, ltintspecialCharSet
 Dictionnaire contenant les touches speciales definies.
map< const char *, int, ltstrspecialKeys
 Dictionnaire indiquant les associations entre touches speciales et mots cle associes.
map< const char *, ParameterInfoPtr,
ltstr
keyActions
 Dictionnaire contenant les actions a effectuer pour chaque balise du fichier de configuration.
unsigned int currentAttr
 Code de l'attribut en cours de lecture.


Detailed Description

Classe de lecture du fichier de configuration.

Cette classe permet de lire un fichier XML de configuration, en definissant pour chaque balise comment elle doit etre traitee et ou doit etre stocke le resultat. Elle fournit ensuite des fonctions d'acces pour les parametres lus. Des valeurs par defaut sont attribuees au cas ou la lecture du fichier ne serait pas possible ou echouerait.


Constructor & Destructor Documentation

Parameters::Parameters const char *  filename  ) 
 

Lit un fichier de configuration.

Parameters:
filename Nom du fichier de configuration a lire.


Member Function Documentation

unsigned int Parameters::getCharsetKey unsigned char  key  ) 
 

Renvoie le code de l'action associee a une touche.

Parameters:
key Touche dont on veut recuperer l'action associee.
Returns:
Action associee a la touche, CHARSET__INVALID si la touche n'est pas attribuee.

unsigned int Parameters::getSpecialCharsetKey int  key  ) 
 

Renvoie le code de l'action associee a une touche speciale.

Parameters:
key Code GLUT de la touche dont on veut recuperer l'action associee.
Returns:
Action associee a la touche, CHARSET__INVALID si la touche n'est pas attribuee.

void Parameters::OnStartElement const XML_Char *  pszName,
const XML_Char **  papszAttrs
 

Fonction de traitement d'une balise XML.

Parameters:
pszName Nom de la balise
papszAttrs Liste d'arguments de la balise.

Reimplemented from CExpatImpl< Parameters >.

bool Parameters::renderWireframe  )  [inline]
 

/brief Indique si la scene doit etre rendue en wireframe.

Returns:
Booleen indiquant si la scene doit etre rendue en wireframe.

void Parameters::setupAction unsigned int  paramAction,
void *  paramVar,
unsigned int  alt,
const char *  paramName
[private]
 

Regle les informations de parsing d'une balise.

Parameters:
paramAction Code indiquant l'action a effectuer pour la lecture.
paramVar Variable ou stocker le resultat lu si applicable (dans le cas d'un booleen ou entier).
alt Code du caractere lu dans le cas d'un caractere.
paramName Nom de la balise.
Cree une structure d'informations sur une balise a lire :
  • comment elle doit etre lue
  • comment elle doit etre stockee

void Parameters::setupActions  )  [private]
 

Regle toutes les informations de parsing des balises.

Cree une structure d'informations sur chaque balise a lire :

  • comment elle doit etre lue
  • comment elle doit etre stockee

void Parameters::setupDefaults  )  [private]
 

Regle les valeurs par defaut pour toutes les touches.

void Parameters::setupSpecialKeys  )  [private]
 

Enregistre les associations entre les codes GLUT des touches speciales et les mots cle associes.

La liste des mots cle est la suivante :

  • LEFT : touche flechee gauche
  • RIGHT : touche flechee droite
  • UP : touche flechee haut
  • DOWN : touche flechee bas
  • F1 a F8 : touches de fonction 1 a 8

void Parameters::toggleShaders  )  [inline]
 

Change la modalite d'utilisation des shaders.

void Parameters::toggleWireframe  )  [inline]
 

Change la modalite d'affichage entre wireframe et plein.

bool Parameters::useShaders  )  [inline]
 

Indique si les shaders doivent etre utilises pour le rendu.

Returns:
Booleen indiquant si les shaders doivent etre utilises.


Member Data Documentation

bool Parameters::_renderWireframe [private]
 

Indique si la scene doit etre rendue en wireframe.

bool Parameters::_useShaders [private]
 

Indique si les shaders doivent etre utilises.

map<unsigned char, unsigned int, ltchar> Parameters::charSet [private]
 

Dictionnaire contenant les touches definies.

La cle du dictionnaire est le caractere de la touche, et la valeur est l'action associee a cette touche. Cela permet de simplement regarder dans le dictionnaire si une touche est attribuee lorsqu'elle est pressee, et si oui de recuperer le code de l'action associee.

unsigned int Parameters::currentAttr [private]
 

Code de l'attribut en cours de lecture.

map<const char *, ParameterInfoPtr, ltstr> Parameters::keyActions [private]
 

Dictionnaire contenant les actions a effectuer pour chaque balise du fichier de configuration.

Ce dictionnaire contient pour chaque nom de balise une structure indiquant comment lire les donnees de la balise et comment les stocker.

map<int, unsigned int, ltint> Parameters::specialCharSet [private]
 

Dictionnaire contenant les touches speciales definies.

La cle du dictionnaire est le code GLUT de la touche speciales, et la valeur est l'action associee a cette touche.Cela permet de simplement regarder dans le dictionnaire si une touche est attribuee lorsqu'elle est pressee, et si oui de recuperer le code de l'action associee.

map<const char *, int, ltstr> Parameters::specialKeys [private]
 

Dictionnaire indiquant les associations entre touches speciales et mots cle associes.

Ce dictionnaire indique pour chaque mot cle de touche speciale le code GLUT de la touche qui lui correspond.


Generated on Thu Mar 24 12:53:49 2005 for Septant by  doxygen 1.4.1