Flair
Framework Libre Air
Parser.h
1 // %flair:license{
2 // This file is part of the Flair framework distributed under the
3 // CECILL-C License, Version 1.0.
4 // %flair:license}
5 // created: 2013/08/02
6 // filename: Parser.h
7 //
8 // author: César Richard
9 // Copyright Heudiasyc UMR UTC/CNRS 7253
10 //
11 // version: $Id: $
12 //
13 // purpose: classe chargeant un XML decrivant une map
14 //
15 /*********************************************************************/
16 
17 #ifndef PARSER_H
18 #define PARSER_H
19 
20 #include <Gui.h>
21 #include <Vector3D.h>
22 #include <libxml/parser.h>
23 #include <libxml/tree.h>
24 #include <SColor.h>
25 
26 namespace flair {
27 namespace simulator {
28 class Parser : public Gui {
29 
30  /*can create:
31  - cylinders: in y axis
32  - fixed cameras
33 
34  */
35 public:
36  Parser(int app_width, int app_height, int scene_width,
37  int scene_height, std::string media_path, std::string xmlFile);
38  ~Parser();
39 
40 private:
41  xmlDoc *doc;
42  std::string media_path;
43  void processElements(xmlNode *a_node);
44  void processObjects(xmlNode *a_node);
45  void processParams(xmlNode *a_node);
46  irr::video::SColor getScolor(xmlNode *mesh_node);
47  irr::core::vector3df getMeshVect(xmlNode *mesh_node, xmlChar *param);
48  irr::core::vector3df getSceneVect(xmlNode *mesh_node, xmlChar *param,
49  bool isScale = false);
50  core::Vector3Df getMeshVector3D(xmlNode *mesh_node, xmlChar *param);
51 };
52 }
53 }
54 #endif // PARSER_H
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Definition: Gui.h:51
Definition: Parser.h:28