OEM.Collimator.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "OEM.Collimator.h"
  2. //#include "CCOS.Dev.FPD.Demo.h"
  3. #include "CCOS.Dev.Generator.Demo.hpp"
  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. CCOS::Dev::Detail::Dispatch DispatchObj; // ¶¨Òå±äÁ¿
  28. auto Disp = &DispatchObj; // È¡±äÁ¿µØÖ·
  29. Disp->Action.Push("SetCollimatorSize", p, &CollimatorDevice::JSSetCollimatorSize);
  30. Disp->Action.Push("SetCollimatorFilter", p, &CollimatorDevice::JSSetCollimatorFilter);
  31. Disp->Action.Push("SetCollimatorSID", p, &CollimatorDevice::JSSetCollimatorSID);
  32. Disp->Action.Push("SetCollimatorAngle", p, &CollimatorDevice::JSSetCollimatorAngle);
  33. Disp->Action.Push("SetCollimatorLight", p, &CollimatorDevice::JSSetCollimatorLight);
  34. Disp->Get.Push("XSize", p, &CollimatorDevice::JSGetCollimatorXSize);
  35. Disp->Get.Push("YSize", p, &CollimatorDevice::JSGetCollimatorYSize);
  36. Disp->Get.Push("SID", p, &CollimatorDevice::JSGetCollimatorSID);
  37. Disp->Get.Push("Filter", p, &CollimatorDevice::JSGetCollimatorFilter);
  38. Disp->Get.Push("Angle", p, &CollimatorDevice::JSGetCollimatorAngle);
  39. }
  40. void OemCollimator::SetCtrlDev(DemoDevice* pCtrlDev)
  41. {
  42. m_pGEN = pCtrlDev;
  43. }
  44. RET_STATUS OemCollimator::SetCollimatorFilter(unsigned short pParams)
  45. {
  46. RET_STATUS ret = RET_STATUS::RET_FAILED;
  47. ret = m_pGEN->SetFilter(pParams);
  48. return ret;
  49. }
  50. RET_STATUS OemCollimator::SetCollimatorSize(unsigned short xsize, unsigned short ysize)
  51. {
  52. RET_STATUS ret = RET_STATUS::RET_FAILED;
  53. ret = m_pGEN->SetCollimatorSize(xsize, ysize);
  54. return ret;
  55. }
  56. RET_STATUS OemCollimator::SetCollimatorLight(unsigned short pParams)
  57. {
  58. //RET_STATUS ret = RET_STATUS::RET_FAILED;
  59. RET_STATUS ret = m_pGEN->SetCollimatorLight(pParams);
  60. return ret;
  61. }