diff --git a/ECTrainer2/Stimulus.cpp b/ECTrainer2/Stimulus.cpp index b9d947a..7a0d724 100644 --- a/ECTrainer2/Stimulus.cpp +++ b/ECTrainer2/Stimulus.cpp @@ -132,6 +132,7 @@ case (int)ECTMSG::CALIB_FAILED: // キャリブレーション失敗 case (int)ECTMSG::CALIB_ERR: // キャリブレーションエラー + _SoftCalibNo = -1; this->SetImage(CALIB_FAILED_FILE); break; @@ -285,7 +286,7 @@ return true; } -// 次の刺激へ移動 +// 次のSoftCalibへ移動 bool Stimulus::MoveNextSoftCalib() { if (_SoftCalibNo < 0) return false; diff --git a/ECTrainer2/Stimulus.h b/ECTrainer2/Stimulus.h index 58eb0ca..48c209f 100644 --- a/ECTrainer2/Stimulus.h +++ b/ECTrainer2/Stimulus.h @@ -91,6 +91,8 @@ bool Init(); // 刺激データ番号を取得 int GetStimNo() { return _StimNo; } + // SoftCalibデータ番号を取得 + int GetSoftCalibNo() { return _SoftCalibNo; } // 刺激ファイル名を取得 std::string GetStimFile() { return _StimInfoSet[_StimNo].filename; } // 刺激の種類を取得 @@ -112,7 +114,9 @@ // 実験経過時間を取得 float GetExpTime() { return _StimNo < 0 ? 0 : _StimInfoSet[_StimNo].accTime + (float)_StimTimer.Elapse(); } // ソフトウェアキャリブレーション実行中かどうか - bool IsSoftCalib() { return _StimNo < 0 ? false : _StimInfoSet[_StimNo].type == StimInfo::TYPE_CALIB; } + bool IsSoftCalib() { return _SoftCalibNo < 0 ? false : _SoftCalibInfoSet[_SoftCalibNo].type == StimInfo::TYPE_CALIB; } + // キャリブレーションチェック実行中かどうか + bool IsCalibCheck() { return _SoftCalibNo < 0 ? false : _SoftCalibInfoSet[_SoftCalibNo].type == StimInfo::TYPE_CHECK; } // ステージ取得 int GetStage() { return _Scene; } // 最大ステージ取得 diff --git a/ECTrainer2/Worker.cpp b/ECTrainer2/Worker.cpp index 9d81338..4f220d5 100644 --- a/ECTrainer2/Worker.cpp +++ b/ECTrainer2/Worker.cpp @@ -67,7 +67,7 @@ int fb = 0; double frameInterval = _pContactTimer->Interval(); std::vector elems = Ect()->PStimulus()->GetMovieObject(); - if (stimNo >= 0) { + if (stimNo >= 0 || Ect()->PStimulus()->GetSoftCalibNo() >= 0) { cv::Mat stimImg = _StimImage.clone(); float scale = (float)stimImg.cols / Ect()->PMarker()->IMGSIZE.width; if (elems.size() > 0) {