#pragma once #include "../OTSScanBase.h" #include "../SEMCommonConst.h" namespace OTSController { class COTSScanSim : public COTSScanBase { public: COTSScanSim(); ~COTSScanSim(); // initialization virtual BOOL Init() override; /// instance termination //void FinishedInstance() override; virtual ScanController::SCANNER_ID GetType() override { return ScanController::SCANNER_ID::OFFLINE; } public: // Get matrix Size virtual CSize GetMatrixSize(int a_nMatrixIndex) override; // move beam to point virtual BOOL MoveBeamTo(CPoint& a_beamPos) override; // Set and Start Scan //virtual BOOL SetAndStartScan(void) override { return true; } // Set point Scan virtual BOOL SetPointScan(int /*a_nMatrixIndex*/) override { return true; } // Start Scan Table virtual BOOL StartScanTable(int a_nMatrixIndex, unsigned int nP, int* pnx, int* pny) override; // set Image Size virtual BOOL SetImageSize(long nImageSize,long nHeight) override; /// set dwell time virtual BOOL SetDwellTime(long nDwellTime) override; // acquire BSE image virtual CBSEImgPtr AcquireBSEImage() override; virtual long GetDwellTimeByIndex(const long a_nIndex) override; virtual BOOL SetDwellTimeByIndex(const long a_nIndex) override; // scan field size virtual BOOL SetScanFieldSize(const int a_nWidth, const int a_nHeight) override; // set the SEM position virtual BOOL SetEMPosition(const int a_nPosX, const int a_nPosY) override; private: const CSize RESOLUTION_VALUE[RESOLUTION_ID_MAX + 1] = { CSize(64, 48), CSize(128, 96), CSize(256, 192), CSize(512, 384), CSize(1024,768), CSize(2048, 1536), CSize(4096, 3072) }; const CString RESOLUTION_STRINGS[RESOLUTION_ID_MAX + 1] = { _T("64 X 48"), _T("128 X 96"), _T("256 X 192"), _T("512 X 384"), _T("1024 X 768"), _T("2048 X 1536"), _T("4096 X 3072") }; }; }