Scene_XMLparser Class Reference

Gestion des fichiers de description de scene au format DotScene. More...

#include <Scene_XMLparser.h>

Inheritance diagram for Scene_XMLparser:

XMLParser_T List of all members.

Public Member Functions

 Scene_XMLparser (String XMLfile)
 Constructeur (on execute le Constructeur de la surclasse).
virtual ~Scene_XMLparser ()
 Destructeur (on execute le destructeur de la surclasse).
void gotoTopOfFile ()
 On réinitialise les pointeurs des sous-objets d'une Room.
bool gotoRoom (int index)
 On se positionne sur un node ROOM de la scene.
bool gotoNextRoom ()
 On se positionne sur le node ROOM de la scene, succedant à la derniere pièce détectée..
bool gotoCameraNode ()
 On se positionne sur le node CAMERA de la scene.
bool gotoRoomDoor ()
 On se positionne sur le node DOOR de la ROOM courante.
bool gotoNextDoor ()
 On se positionne sur le node DOOR de la scene, suivant la derniere porte detectée..
bool gotoDoorPanel ()
 On se positionne sur le node PANEL de la DOOR courante.
bool getNextSubObject ()
 On se positionne sur le tag "node" suivant, appartenant à la Room en cours, et contenant un element "entity".
bool getNextSubLight ()
 On se positionne sur le tag "node" suivant, appartenant à la Room en cours, et contenant un element "light".
String getUserdata (String PropertyName)
 On analyse les <userdata> du Node courant, et on renvoie la DATA correspondant à la property demandée.
bool getBooleanUserdata (String PropertyName)
 On analyse les <userdata> du Node courant, et on renvoie la DATA correspondant à la property demandée.
bool hasMoreNodes ()
 Cette fonction indique si, d'une façon ou d'une autre, on a atteint la fin des <node> de <nodes>.

Protected Member Functions

String getUserdata (void *node, String PropertyName)
 On analyse les <userdata> du Node demandé, et on renvoie la DATA correspondant à la property demandée.

Protected Attributes

int mRoomIndex
 position courante dans les listes d'éléments XML
int mDoorIndex
 position courante dans les listes d'éléments XML
int mObjectIndex
 position courante dans les listes d'éléments XML
int mLightIndex
 position courante dans les listes d'éléments XML
bool mNoMoreNodes
 indicateur de fin de fichier XML
void * mRoomElement
 Handle sur la ROOM de la scene.
void * mDoorElement
 Handle sur la DOOR de la scene.

Detailed Description

Gestion des fichiers de description de scene au format DotScene.


Constructor & Destructor Documentation

Scene_XMLparser::Scene_XMLparser String  XMLfile  ) 
 

Constructeur (on execute le Constructeur de la surclasse).

Scene_XMLparser::~Scene_XMLparser  )  [virtual]
 

Destructeur (on execute le destructeur de la surclasse).


Member Function Documentation

bool Scene_XMLparser::getBooleanUserdata String  PropertyName  ) 
 

On analyse les <userdata> du Node courant, et on renvoie la DATA correspondant à la property demandée.

Parameters:
PropertyName Attribut NAME du tag <property> dont on veut recuperer la DATA
Returns:
La valeur de l'attribut DATA correspondant.
Les attributs TYPE et NAME de "property" doivent être en majuscules

bool Scene_XMLparser::getNextSubLight  ) 
 

On se positionne sur le tag "node" suivant, appartenant à la Room en cours, et contenant un element "light".

Returns:
On renvoie FALSE si on n'a plus trouvé de lumière dans la room courante. On renvoie TRUE, si on a trouvé une lumière. Dans ce cas, le "current node" est positionné sur la lumière, et on peut lire ses attributs.
On renvoie FALSE si on trouve pas de light.

bool Scene_XMLparser::getNextSubObject  ) 
 

On se positionne sur le tag "node" suivant, appartenant à la Room en cours, et contenant un element "entity".

Returns:
On renvoie FALSE si on n'a plus trouvé d'objet dans la room courante. On renvoie TRUE, si on a trouvé un objet. Dans ce cas, le "current node" est positionné sur l'objet, et on peut lire ses attributs.
On renvoie FALSE si on trouve pas d'objet.

String Scene_XMLparser::getUserdata void *  node,
String  PropertyName
[protected]
 

On analyse les <userdata> du Node demandé, et on renvoie la DATA correspondant à la property demandée.

Parameters:
node Node parent dont on veut lire une <userdata>
PropertyName Nom du tag <property> dont on veut recuperer la DATA
Returns:
La valeur de l'attribut DATA correspondant.
Tous les attributs de Property (type, name et data) doivent être en majuscules.

String Scene_XMLparser::getUserdata String  PropertyName  ) 
 

On analyse les <userdata> du Node courant, et on renvoie la DATA correspondant à la property demandée.

Parameters:
PropertyName Attribut NAME du tag <property> dont on veut recuperer la DATA
Returns:
La valeur de l'attribut DATA correspondant.
Les attributs TYPE et NAME de "property" doivent être en majuscules

bool Scene_XMLparser::gotoCameraNode  ) 
 

On se positionne sur le node CAMERA de la scene.

Les fichier dotScene peuvent contenir une position de camera, utile pour le debug.

Returns:
La fonction renvoie FALSE, si le node n'est pas trouvé.
On renvoie FALSE si on trouve pas la camera

bool Scene_XMLparser::gotoDoorPanel  ) 
 

On se positionne sur le node PANEL de la DOOR courante.

Dans la nouvelle structure des DotScene decrivant un Level, le panel est le (seul) node Child de la porte.

Returns:
La fonction renvoie FALSE, si le node n'est pas trouvé.
On renvoie FALSE si on trouve pas le panel.

bool Scene_XMLparser::gotoNextDoor  ) 
 

On se positionne sur le node DOOR de la scene, suivant la derniere porte detectée..

Returns:
La fonction renvoie FALSE, s'il n'y a plsu de nod DOOR, ou en cas de probleme.

bool Scene_XMLparser::gotoNextRoom  ) 
 

On se positionne sur le node ROOM de la scene, succedant à la derniere pièce détectée..

Returns:
La fonction renvoie FALSE, s'il n'y a plus de node ROOM, ou en cas de problème.

bool Scene_XMLparser::gotoRoom int  index  ) 
 

On se positionne sur un node ROOM de la scene.

Parameters:
index Position du node correspondant à la room dans le fichier XML.
Returns:
La fonction renvoie FALSE, si le node n'est pas trouvé. Les problemes rencontrés peuvent être un node inexistant, ou un node ne correspondant pas à une Room.

bool Scene_XMLparser::gotoRoomDoor  ) 
 

On se positionne sur le node DOOR de la ROOM courante.

Dans la nouvelle structure des DotScene decrivant un Level, la porte est un node Child de la pièce.

Returns:
La fonction renvoie FALSE, si le node n'est pas trouvé. OBSOLETE
On renvoie FALSE si on trouve pas la porte.

void Scene_XMLparser::gotoTopOfFile  ) 
 

On réinitialise les pointeurs des sous-objets d'une Room.

bool Scene_XMLparser::hasMoreNodes  ) 
 

Cette fonction indique si, d'une façon ou d'une autre, on a atteint la fin des <node> de <nodes>.

Returns:
FALSE si la fin des node a été atteinte.


Member Data Documentation

void* Scene_XMLparser::mDoorElement [protected]
 

Handle sur la DOOR de la scene.

int Scene_XMLparser::mDoorIndex [protected]
 

position courante dans les listes d'éléments XML

int Scene_XMLparser::mLightIndex [protected]
 

position courante dans les listes d'éléments XML

bool Scene_XMLparser::mNoMoreNodes [protected]
 

indicateur de fin de fichier XML

int Scene_XMLparser::mObjectIndex [protected]
 

position courante dans les listes d'éléments XML

void* Scene_XMLparser::mRoomElement [protected]
 

Handle sur la ROOM de la scene.

int Scene_XMLparser::mRoomIndex [protected]
 

position courante dans les listes d'éléments XML


The documentation for this class was generated from the following files:
Generated on Mon Mar 27 21:33:15 2006 for Long Forgotten Earth by  doxygen 1.4.6-NO