#pragma once #include "CHCameraControls/CameraControl.h" #include "SimulationThread.h" #define External_Path _T("C:\\DIT_Review\\ExternalImage") #define Internal_Path _T("C:\\DIT_Review\\InternalImage") #define ALIGN_CAMERA1 _T("Align1") #define ALIGN_CAMERA2 _T("Align2") enum GrabStatus {GrabStatusAbort=0, GrabStatusGrab, GrabStatusSnap }; enum Status {Grab_normal = 0, Snap_normal, Snap_count, Snap_count_Period}; class AFX_EXT_CLASS CCameraControl_Simulation : public CCameraControl, public ISimulationThread2Parent { public: CCameraControl_Simulation(int nIndex); virtual ~CCameraControl_Simulation(void); // camera control virtual int Connect(const CCameraControlInfo& controlInfo); virtual int Grab(); virtual int Snap(); virtual int Snap(int nCount); virtual int Snap(int nCount, UINT nWaitTime); virtual int Freeze(); virtual int Abort(); virtual int Disconnect(); // setting info virtual BOOL SetExposureTime(double dValue); virtual BOOL GetExposureTime(double& dValue); virtual BOOL SetExposureAuto(BOOL bAuto); virtual BOOL SetFrameRate(double dRate) { return TRUE; } virtual BOOL GetGrabbing(); virtual int GetFrameIndex(); // setting mode virtual void SetTriggerMode(int nMode, int nCount=1); virtual void SetTriggerSource(int nSource); virtual BOOL SetTriggerProcess(); protected: virtual void IST2P_RunThreadProcess(const CSimulationData& threadData); CSimulationThread* m_pSimulThread; int m_nGrabFrameCount; int m_nGrabStatus; CString m_strImagePath; int m_nFrameRate; CRITICAL_SECTION m_csGrabStatus; };