Examination.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #pragma once
  2. #include "LogicDevice.h"
  3. #include "commonDataStruct.h"
  4. #ifndef SYSTEMDEVICE_EXPORTS
  5. #ifdef _WIN64
  6. #ifdef _DEBUG
  7. #pragma comment(lib, "LogicDeviceX64D.lib")
  8. #else
  9. #pragma comment(lib, "LogicDeviceX64.lib")
  10. #endif
  11. #else
  12. #ifdef _DEBUG
  13. #pragma comment(lib, "LogicDeviceD.lib")
  14. #else
  15. #pragma comment(lib, "LogicDevice.lib")
  16. #endif
  17. #endif
  18. #endif
  19. #ifdef SYSTEMDEVICE_EXPORTS
  20. #define SYSTEMDEVICE_API __declspec(dllexport)
  21. #else
  22. #define SYSTEMDEVICE_API __declspec(dllimport)
  23. #endif
  24. class SYSTEMDEVICE_API ExaminationDevice :
  25. public LogicDevice
  26. {
  27. enum ImageRecoverState
  28. {
  29. irNone,
  30. irPending,
  31. irRecovered,
  32. } m_emImageRecover;
  33. int m_nImageRecoveryCancel;
  34. public:
  35. ExaminationDevice();
  36. virtual ~ExaminationDevice();
  37. void SetTargetExi(float fVal);
  38. RET_STATUS SetAPR(APRStruct& pParam);
  39. public:
  40. //继承的接口实现
  41. virtual bool SYSTEM_CALL GetDeviceType(GUID& DevType) override;
  42. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN* pCmd) override;
  43. //父类函数
  44. RET_STATUS Request(ResDataObject PARAM_IN* pRequest, ResDataObject PARAM_OUT* pResponse) override;
  45. virtual RET_STATUS GetDeviceResource(ResDataObject PARAM_OUT* pDeviceResource) override;
  46. public:
  47. RET_STATUS SetFrameRate(float fFrameRate);
  48. RET_STATUS SetAPR(const ResDataObject& pParam);
  49. RET_STATUS SetAPRIndex(int nIndex);
  50. RET_STATUS EnterExam();
  51. RET_STATUS ExitExam();
  52. RET_STATUS SetROI(const ResDataObject& pParam);
  53. RET_STATUS SetECMInfo(const ResDataObject& pParam);
  54. RET_STATUS SetDemoImage(const ResDataObject& pParam);
  55. RET_STATUS ImageRecoveryCancel();
  56. RET_STATUS GetProjectionNum();
  57. RET_STATUS SetTechParamsInfo(ResDataObject PARAM_IN& pParam);
  58. void SetSeqenceImageNumber(int number);
  59. public:
  60. //获取指定帧的设备参数,nFrameIndex=0 是预设参数,nFrameIndex=1是第一帧参数
  61. //virtual int GetDeviceParam(const char* pszDeviceType, ResDataObject& pPram, int nFrameIndex);
  62. protected:
  63. float m_fTargetEXI;
  64. APRStruct m_APRParam;
  65. int m_nSeqImageNum; // 上层设置的图像数或ProjectionNum属性通知的值
  66. ResDataObject m_rdoSetTechs;
  67. APRStruct m_aprPost;
  68. ResDataObject m_ROI;
  69. BaseJsonDataObject<bool> m_ExpEnable;
  70. BaseJsonDataObject<bool> m_PanelReady;
  71. BaseJsonDataObject<bool> m_XrayState;
  72. };