OEM.Collimator.cpp 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include "stdafx.h"
  2. #include "OEM.Collimator.h"
  3. #include "CCOS.Dev.Generator.SINO.h"
  4. OemCollimator::OemCollimator(std::shared_ptr <CCOS::Dev::IOEventCenter> EventCenter,
  5. int nXSize, int nYSize, int nFilter, int nSID, int nAngle, int nMode): super(EventCenter)
  6. {
  7. m_nXSize = nXSize;
  8. m_nYSize = nYSize;
  9. m_nFilter = nFilter;
  10. m_nSID = nSID;
  11. m_nAngle = nAngle;
  12. m_nMode = nMode;
  13. }
  14. OemCollimator::~OemCollimator()
  15. {
  16. }
  17. bool OemCollimator::Prepare()
  18. {
  19. printf("OemCollimator::Prepare\n");
  20. Register();
  21. return true;
  22. }
  23. void OemCollimator::Register()
  24. {
  25. printf("OemCollimator::Register\n");
  26. auto p = static_cast <CollimatorDevice*> (this);
  27. auto Disp = &Dispatch;
  28. Disp->Action.Push("SetCollimatorSize", p, &CollimatorDevice::JSSetCollimatorSize);
  29. Disp->Action.Push("SetCollimatorFilter", p, &CollimatorDevice::JSSetCollimatorFilter);
  30. Disp->Action.Push("SetCollimatorSID", p, &CollimatorDevice::JSSetCollimatorSID);
  31. Disp->Action.Push("SetCollimatorAngle", p, &CollimatorDevice::JSSetCollimatorAngle);
  32. Disp->Action.Push("SetCollimatorLight", p, &CollimatorDevice::JSSetCollimatorLight);
  33. Disp->Get.Push("XSize", p, &CollimatorDevice::JSGetCollimatorXSize);
  34. Disp->Get.Push("YSize", p, &CollimatorDevice::JSGetCollimatorYSize);
  35. Disp->Get.Push("SID", p, &CollimatorDevice::JSGetCollimatorSID);
  36. Disp->Get.Push("Filter", p, &CollimatorDevice::JSGetCollimatorFilter);
  37. Disp->Get.Push("Angle", p, &CollimatorDevice::JSGetCollimatorAngle);
  38. }
  39. void OemCollimator::SetCtrlDev(SINODevice* pCtrlDev)
  40. {
  41. m_pGEN = pCtrlDev;
  42. }
  43. RET_STATUS OemCollimator::SetCollimatorFilter(WORD pParams)
  44. {
  45. RET_STATUS ret = RET_STATUS::RET_FAILED;
  46. ret = m_pGEN->SetFilter(pParams);
  47. return ret;
  48. }
  49. RET_STATUS OemCollimator::SetCollimatorSize(WORD xsize, WORD ysize)
  50. {
  51. RET_STATUS ret = RET_STATUS::RET_FAILED;
  52. ret = m_pGEN->SetCollimatorSize(xsize, ysize);
  53. return ret;
  54. }
  55. RET_STATUS OemCollimator::SetCollimatorLight(WORD pParams)
  56. {
  57. //RET_STATUS ret = RET_STATUS::RET_FAILED;
  58. RET_STATUS ret = m_pGEN->SetCollimatorLight(pParams);
  59. return ret;
  60. }