OSDN Git Service

6af96d1383e25acaba805a8628cff33beb817ab2
[psychlops/cpp.git] / psychlops / extension / devices / psychlops_devices_util.h
1 /*
2  *  psychlops_devices_nidaqmxbase.h
3  *  Psychlops Standard Library (Universal)
4  *
5  *  Last Modified 2009/07/30 by Kenchi HOSOKAWA
6  *  (C) 2009 Kenchi HOSOKAWA, Kazushi MARUYA, Takao SATO
7  */
8
9 #ifndef HEADER_PSYCHLOPS_DEVICES_UTIL
10 #define HEADER_PSYCHLOPS_DEVICES_UTIL
11
12 #include "../../core/devices/psychlops_io_analog.h"
13 #include "../../core/devices/psychlops_io_clock.h"
14
15 namespace Psychlops {
16
17 namespace Devices {
18 \r
19 \r
20         class DisplayFlash : public ITrigger, public Rectangle\r
21         {\r
22                 public:\r
23 \r
24                 virtual ~DisplayFlash();\r
25                 virtual double getLatency();\r
26                 virtual double getJitterSD();\r
27                 virtual Interval getRange();\r
28                 virtual bool isAnalog();\r
29 \r
30                 virtual double get();\r
31                 virtual void put(double);\r
32         };\r
33 \r
34
35         class OscillationSimulator : public AnalogInput {
36                 public:
37                 double frequency, amplitude, internal_phase;
38                 double (*waveform)(double);
39
40                 OscillationSimulator();
41                 OscillationSimulator(double freq, double amp = 1, double phase = 0);
42                 double get();
43         };
44
45
46         class ClockOscillator : public AnalogInput {
47                 Clock clock;
48                 public:
49                 double frequency, amplitude, internal_phase;
50                 double (*waveform)(double);
51
52                 ClockOscillator();
53                 ClockOscillator(double freq, double amp = 1, double phase = 0);
54                 double get();
55         };
56
57
58         class MouseX : public AnalogInput {
59                 double factor;
60                 public:
61                 MouseX();
62                 MouseX(const double factor);
63                 virtual ~MouseX();
64                 virtual double get();
65 //              virtual double normalize(double);
66         };
67
68 }
69
70 }       /*      <- namespace Psycholops         */
71
72
73
74 #endif