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 <libxml/parser.h>
22 #include <libxml/tree.h>
23 
24 namespace flair {
25  namespace core {
26  class Vector3D;
27  }
28 }
29 
30 namespace flair {
31 namespace simulator {
32 class Parser : public Gui {
33 
34  /*can create:
35  - cylinders: in y axis
36  - fixed cameras
37 
38  */
39 public:
40  Parser(Simulator *parent, int app_width, int app_height, int scene_width,
41  int scene_height, std::string media_path, std::string xmlFile);
42  ~Parser();
43 
44 private:
45  xmlDoc *doc;
46  std::string media_path;
47  Simulator *parent;
48  void processElements(xmlNode *a_node);
49  void processObjects(xmlNode *a_node);
50  void processParams(xmlNode *a_node);
51  irr::core::vector3df getMeshVect(xmlNode *mesh_node, xmlChar *param);
52  irr::core::vector3df getSceneVect(xmlNode *mesh_node, xmlChar *param,
53  bool isScale = false);
54  core::Vector3D getMeshVector3D(xmlNode *mesh_node, xmlChar *param);
55 };
56 }
57 }
58 #endif // PARSER_H
namespace of the flair Framework
Definition: Ahrs.h:19
Class defining a 3D vector.
Definition: Vector3D.h:28
Definition: Simulator.h:37
Definition: Gui.h:52
Definition: Parser.h:32