#pragma once
#include "myOpenCV.h"
#include "BaseProcess.h"
#include <vector>
#include <string>
class Marker;
struct StimImage {
cv::String filename;
cv::Point2f eyes[2];
};
class Stimulus : public BaseProcess
{
const cv::String OPENING_FILE = "../images/ECTrainerLogo640x91.png";
const cv::String CALIB_FILE = "../images/calib.png";
const std::string DATA_FILE = "StimData.txt";
Marker* _pMarker;
cv::Mat _DispBuffer;
std::vector<StimImage> _StimImages;
int _StimNo;
void SetStimulus();
public:
Stimulus(ECTrainer* pEct, Marker* pMarker);
bool Init();
bool MainLoop();
void Calibration();
void Start();
void Next();
cv::Point2f GetEyeR() { return _StimImages[_StimNo].eyes[0]; }
cv::Point2f GetEyeL() { return _StimImages[_StimNo].eyes[1]; }
};