Mech.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #pragma once
  2. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  3. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 MECHV2_EXPORTS
  4. // 符号编译的。在使用此 DLL 的
  5. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  6. // MECH_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  7. // 符号视为是被导出的。
  8. #ifndef MECH_EXPORTS
  9. #ifdef _WIN64
  10. #ifdef _DEBUG
  11. #pragma comment(lib, "MechX64D.lib")
  12. #else
  13. #pragma comment(lib, "MechX64.lib")
  14. #endif
  15. #else
  16. #ifdef _DEBUG
  17. #pragma comment(lib, "MechD.lib")
  18. #else
  19. #pragma comment(lib, "Mech.lib")
  20. #endif
  21. #endif
  22. #endif
  23. #ifdef MECH_EXPORTS
  24. #define MECH_API __declspec(dllexport)
  25. #else
  26. #define MECH_API __declspec(dllimport)
  27. #endif
  28. #include "LogicDevice.h"
  29. #include "DIOSLogicDeviceStructure.h"
  30. #define DiosMechGridType ("GridType")
  31. typedef enum _Dios_Mech_GridType
  32. {
  33. Grid_No,
  34. Grid_1150,
  35. Universal,
  36. Grid_1800,
  37. Grid_1000,
  38. Grid_3000,
  39. Grid_1500
  40. }MECH_GRIDTYPE;
  41. #define DiosMechGridType ("GridState")
  42. typedef enum _Dios_Mech_GridState
  43. {
  44. Grid_Noinformation,
  45. Grid_IN,
  46. Grid_IN_CHANGE,
  47. Grid_OUT,
  48. Grid_OUT_CHANGE
  49. }MECH_GRIDSTATE;
  50. #define DiosMechGridType ("GridOrientation")
  51. typedef enum _Dios_Mech_GridOrientation
  52. {
  53. Grid_Vertical,
  54. Grid_Horizontal
  55. }MECH_GRIDORIENTATION;
  56. class MECH_API Mech : public LogicDevice
  57. {
  58. public:
  59. Mech();
  60. ~Mech();
  61. ResDataObject* m_pSyncData;
  62. virtual bool SYSTEM_CALL GetDeviceType(GUID &DevType);
  63. //get device resource
  64. virtual RET_STATUS SYSTEM_CALL GetDeviceResource(ResDataObject PARAM_OUT *pDeviceResource);
  65. //register system status
  66. virtual RET_STATUS SYSTEM_CALL GetSEQResource(ResDataObject PARAM_OUT *pDeviceStatus);
  67. //ResourceCommand Request In and Response Out
  68. virtual RET_STATUS SYSTEM_CALL Request(ResDataObject PARAM_IN *pRequest, ResDataObject PARAM_OUT *pResponse);
  69. //notify to lower layer
  70. virtual RET_STATUS SYSTEM_CALL CmdToLogicDev(ResDataObject PARAM_IN *pCmd);
  71. virtual int DATA_ACTION SetAutoTracking(int nAutoTracking);
  72. virtual RET_STATUS SetStudyInfo(ResDataObject PARAM_IN& pParam);
  73. virtual RET_STATUS SetTechParamsInfo(ResDataObject PARAM_IN& pParam);
  74. virtual RET_STATUS SetViewList(int ViewCount,const char* viewID[],const char* viewName[]);
  75. virtual RET_STATUS SelectViewInfo(const char* viewID, const char* viewName);
  76. virtual RET_STATUS SetGridType(MECH_GRIDTYPE GridType);
  77. virtual RET_STATUS SetSID(float value);
  78. virtual RET_STATUS SetSOD(float value);
  79. RET_STATUS UpdateSID(float value);
  80. RET_STATUS UpdateSOD(float value);
  81. RET_STATUS UpdateGridType(MECH_GRIDTYPE value);
  82. RET_STATUS UpdateGridState(MECH_GRIDSTATE value);
  83. RET_STATUS UpdateGridOrientation(MECH_GRIDORIENTATION value);
  84. RET_STATUS UpdateViewID(int value);
  85. RET_STATUS UpdatePatientSize(int value);
  86. virtual RET_STATUS DATA_ACTION GetTomoResults(ResDataObject &resultAngle, ResDataObject &resultHeight);
  87. };