ProjectedTextures
Prototype software for spacial augmented reality applications.
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
ResourceManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QList>
4 #include <QDomElement>
5 #include <QFile>
6 #include <QUuid>
7 
8 #include "Projector.h"
9 #include "OpenCvCam.h"
10 #include "PsEyeCam.h"
11 #include "FiducialTracker.h"
12 #include "Geometry.h"
13 
14 
18 namespace TagName{
19  //document elements
20  const QString document_config = "config";
21  const QString document_objects = "objects";
22 
23  //Transformations
24  const QString transform = "Transform";
25  const QString translation = "Translation";
26  const QString rotationAxisAngle = "RotationAxisAngle";
27  const QString rotationMatrix = "RotationMatrix";
28  const QString rotationQuaternion = "RotationQuaternion";
29  const QString scale = "Scale";
30 
31  //Hardware
32  const QString camera = "Camera";
33  const QString psEye = "PsEye";
34  const QString projector = "Projector";
35  const QString attachedCamera = "AttachedCamera";
36 
37  //Tracking
38  const QString tracking = "Tracking";
39  const QString arToolkit = "ARToolkit";
40  const QString fiducialTracker = "FiducialTracker";
41  const QString marker = "Marker";
42  const QString markerSet = "MarkerSet";
43 
44  //Geometry Objects
45  const QString objectsConfigFile = "ObjectConfiguration";
46  const QString geometry = "Geometry";
47  const QString file = "File";
48  const QString colorSet = "Colorset";
49  const QString colorMapping = "ColorMapping";
50  const QString attachedMarkerSet = "AttachedMarkerSet";
51 };
52 
53 
58 {
59 
60 public:
61  ResourceManager(void);
62  ~ResourceManager(void);
63 
64  void readConfig(QString fileName);
74  void readObjectsConfig(QString fileName = QString());
77  void saveObjects(QString fileName = QString());
80  QList<Projector*>* projectors(){return &_projectors;}
81  QList<Camera*>* cameras(){return &_cameras;}
82  QList<FiducialTracker*>* trackers(){return &_trackers;}
83  QList<Geometry*>* geometries(){return &_geometries;}
85 protected:
88  QList<Projector*> _projectors;
89  QList<Camera*> _cameras;
90  QList<FiducialTracker*> _trackers;
91  QList<Geometry*> _geometries;
93  //helper functions
94  Similarity readTransform(QDomElement transformElem, bool rigid=false);
96  void clearGeometries();
98 };
99