#pragma once #include "LogicDevice.h" #include "commonDataStruct.h" #ifndef SYSTEMDEVICE_EXPORTS #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "LogicDeviceX64D.lib") #else #pragma comment(lib, "LogicDeviceX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "LogicDeviceD.lib") #else #pragma comment(lib, "LogicDevice.lib") #endif #endif #endif #ifdef SYSTEMDEVICE_EXPORTS #define SYSTEMDEVICE_API __declspec(dllexport) #else #define SYSTEMDEVICE_API __declspec(dllimport) #endif class SYSTEMDEVICE_API ExaminationDevice : public LogicDevice { enum ImageRecoverState { irNone, irPending, irRecovered, } m_emImageRecover; int m_nImageRecoveryCancel; public: ExaminationDevice(); virtual ~ExaminationDevice(); void SetTargetExi(float fVal); RET_STATUS SetAPR(APRStruct& pParam); public: //继承的接口实现 virtual bool SYSTEM_CALL GetDeviceType(GUID& DevType) override; virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN* pCmd) override; //父类函数 RET_STATUS Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse) override; virtual RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource) override; public: RET_STATUS SetFrameRate(float fFrameRate); RET_STATUS SetAPR(const ResDataObject& pParam); RET_STATUS SetAPRIndex(int nIndex); RET_STATUS EnterExam(); RET_STATUS ExitExam(); RET_STATUS SetROI(const ResDataObject& pParam); RET_STATUS SetECMInfo(const ResDataObject& pParam); RET_STATUS SetDemoImage(const ResDataObject& pParam); RET_STATUS ImageRecoveryCancel(); RET_STATUS GetProjectionNum(); RET_STATUS SetTechParamsInfo(ResDataObject PARAM_IN& pParam); void SetSeqenceImageNumber(int number); public: //获取指定帧的设备参数,nFrameIndex=0 是预设参数,nFrameIndex=1是第一帧参数 //virtual int GetDeviceParam(const char* pszDeviceType, ResDataObject& pPram, int nFrameIndex); protected: float m_fTargetEXI; APRStruct m_APRParam; int m_nSeqImageNum; // 上层设置的图像数或ProjectionNum属性通知的值 ResDataObject m_rdoSetTechs; APRStruct m_aprPost; ResDataObject m_ROI; BaseJsonDataObject m_ExpEnable; BaseJsonDataObject m_PanelReady; BaseJsonDataObject m_XrayState; };