MGF Server  2.1
Multigaze framework server
 All Classes Functions
CGDEntry.h
1 #pragma once
2 
3 #ifndef C_GDENTRY_H
4 #define C_GDENTRY_H
5 
6 #include <string>
7 #include <sstream>
8 
9 #include "gdtypes.h"
10 #include "IGDEntry.h"
11 #include "gdentrytypes.h"
12 #include "gdentrystruct.h"
13 
14 using namespace std;
15 
16 template<typename T>
17 class GDLIBAPI GDEntry : public IGDEntry<T>
18 { };
19 
20 template<>
21 class GDEntry<gdFixation>:
22  public IGDEntry<gdFixation>
23 {
24 public:
25  GDEntry(gdFixation entry):IGDEntry<gdFixation>(entry) { }
26  virtual ~GDEntry() { }
27 
28  virtual gdElementType type(){ return GDT_FIXATION; }
29  virtual long duration(){ return mData.duration; }
30  virtual short eye(){ return mData.eye; }
31  virtual long x(){ return mData.x; }
32  virtual long y(){ return mData.y; }
33  virtual long number(){ return mData.number; }
34  virtual long time(){ return mData.time; }
35 
36  virtual string toString()
37  {
38  stringstream stream;
39 
40  stream << time() << "\t";
41  stream << number() << "\t";
42  stream << x() << "\t";
43  stream << y() << "\t";
44  stream << duration() << "\t";
45  stream << eye() << "\t";
46  stream << -1 << "\t";
47  stream << type() << "\t";
48 
49  return stream.str();
50  }
51 };
52 
53 template<>
54 class GDEntry<gdSingleSample>:
55  public IGDEntry<gdSingleSample>
56 {
57 public:
59  virtual ~GDEntry() { }
60 
61  virtual gdElementType type(){ return GDT_FIXATION; }
62  virtual long pupil(){ return mData.pupil; }
63  virtual short eye(){ return mData.eye; }
64  virtual long x(){ return mData.x; }
65  virtual long y(){ return mData.y; }
66  virtual long number(){ return mData.number; }
67  virtual long time(){ return mData.time; }
68 
69  virtual string toString()
70  {
71  stringstream stream;
72 
73  stream << time() << "\t";
74  stream << number() << "\t";
75  stream << x() << "\t";
76  stream << y() << "\t";
77  stream << -1 << "\t";
78  stream << eye() << "\t";
79  stream << pupil() << "\t";
80  stream << type() << "\t";
81 
82  return stream.str();
83  }
84 };
85 
86 template<>
87 class GDEntry<gdBlink>:
88  public IGDEntry<gdBlink>
89 {
90 public:
91  GDEntry(gdBlink entry):IGDEntry<gdBlink>(entry) { }
92  virtual ~GDEntry() { }
93 
94  virtual gdElementType type(){ return GDT_BLINK; }
95  virtual long duration(){ return mData.duration; }
96  virtual short eye(){ return mData.eye; }
97  virtual long number(){ return mData.number; }
98  virtual long time(){ return mData.time; }
99 
100  virtual string toString()
101  {
102  stringstream stream;
103 
104  stream << time() << "\t";
105  stream << number() << "\t";
106  stream << -1 << "\t";
107  stream << -1 << "\t";
108  stream << duration() << "\t";
109  stream << eye() << "\t";
110  stream << -1 << "\t";
111  stream << type() << "\t";
112 
113  return stream.str();
114  }
115 };
116 
117 #endif