forked from opengazer/OpenGazer
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathApplication.h
executable file
·80 lines (62 loc) · 2.01 KB
/
Application.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#pragma once
#include <fstream>
#include <map>
#include "Configuration.h"
#include "OutputMethods.h"
// Include files for system components
#include "Video.h"
#include "MainGazeTracker.h"
#include "Calibrator.h"
#include "DebugWindow.h"
#include "TestWindow.h"
namespace Application {
// Tracker status
enum trackerStatus {
STATUS_IDLE = 1, // App is not doing anything
STATUS_CALIBRATED = 2, // App is not doing anything, but is calibrated
STATUS_CALIBRATING = 11, // App is calibrating
STATUS_TESTING = 12, // App is testing
STATUS_PAUSED = 13 // App is paused
};
extern trackerStatus status;
extern bool isTrackerCalibrated;
extern int dwelltimeParameter;
extern int testDwelltimeParameter;
extern int sleepParameter;
extern std::ofstream resultsOutputFile;
extern Configuration config;
namespace Settings {
extern bool videoOverlays;
extern bool recording;
extern bool noWindows;
extern bool noTracking;
extern bool useGroundTruth;
}
extern std::map<std::string, Component*> components;
namespace Components {
extern boost::scoped_ptr<VideoInput> videoInput;
extern boost::scoped_ptr<VideoWriter> video;
// The main class containing the processing loop
extern MainGazeTracker *mainTracker;
// Other components mainly taking care of calibration/test flow and display
extern Calibrator *calibrator;
extern DebugWindow *debugWindow;
extern TestWindow *testWindow;
}
Component* getComponent(std::string name);
namespace Signals {
extern int initiateCalibrationFrameNo;
extern int initiateTestingFrameNo;
extern int initiatePointSelectionFrameNo;
extern int initiatePointClearingFrameNo;
}
namespace Data {
extern std::vector<Point> calibrationTargets;
// Outputs for all gaze estimators
extern std::vector<Point> gazePoints;
// Positions of facial anchor points
extern std::vector<cv::Point2f> anchorPoints;
extern bool isTrackingSuccessful;
}
std::vector<boost::shared_ptr<AbstractStore> > getStores();
}