IPositionManager.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. namespace DiosCtrlBox
  3. {
  4. enum DOF_MECH
  5. {
  6. TOMO_TUBE_ANGLE,
  7. TOMO_TUBE_HEIGHT,
  8. TOMO_DETECTOR_HEIGHT,
  9. CARM_TUBE_SWING,
  10. CARM_TUBE_CIRCULAR,
  11. };
  12. enum LANDMARK_TYPE
  13. {
  14. LANDMARK_HIGH,
  15. LANDMARK_LOW,
  16. };
  17. const std::string NOTIFY_KEY_SYSTEM_READY = "MachineryReady";
  18. const std::string NOTIFY_KEY_ALIGNSTATUS = "AlignStatus";
  19. class IMachineryManager;
  20. class IPositionManager
  21. {
  22. public:
  23. IPositionManager(){}
  24. virtual ~IPositionManager(){}
  25. public:
  26. public:
  27. virtual void Initialize(IMachineryManager *machmanager) = 0;
  28. virtual float GetLandmarkPosition(DOF_MECH dof,LANDMARK_TYPE landmarkType) = 0;
  29. virtual float GetCurrentAbsolutePhysical(DOF_MECH dof) = 0;
  30. virtual float GetPhysicalPerMotorPulse(DOF_MECH dof) = 0;
  31. virtual float GetCurrentPhysical(DOF_MECH dof) = 0;
  32. virtual int GetCurrentSensorValue(DOF_MECH dof) = 0;
  33. virtual float ConvertSensorValue(const std::string &componentName, int sensorValue) = 0;
  34. virtual int ConvertPhysicsValue(const std::string &componentName, float physicsValue) = 0;
  35. virtual DWORD ConvertMotorStepValue(const std::string &componentName, float physicsOffset) = 0;
  36. virtual DWORD ConvertMotorSpeed(const std::string &componentName, float speed) = 0;
  37. virtual void ResetSystem() = 0;
  38. virtual BOOL IsSystemReady() = 0;
  39. virtual BOOL IsNeedCenterAdjust() = 0;
  40. virtual void SetNotifyLogicDevice(LogicDevice *logicdevice) = 0;
  41. virtual void NotifyAlignStatus(BOOL isAligned) = 0;
  42. virtual void NotifySystemIsReady() = 0;
  43. };
  44. }