PositionManager.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "IPositionManager.h"
  3. class LogicDevice;
  4. namespace DiosCtrlBox
  5. {
  6. class PositionManager : public IPositionManager
  7. {
  8. public:
  9. PositionManager();
  10. ~PositionManager();
  11. public:
  12. static PositionManager *Instance();
  13. public:
  14. void Attach(IPositionManager *impl);
  15. public:
  16. virtual void Initialize(IMachineryManager *machmanager) override;
  17. virtual float GetLandmarkPosition(DOF_MECH dof, LANDMARK_TYPE landmarkType) override;
  18. virtual float GetCurrentAbsolutePhysical(DOF_MECH dof) override;
  19. virtual float GetPhysicalPerMotorPulse(DOF_MECH dof) override;
  20. virtual float GetCurrentPhysical(DOF_MECH dof) override;
  21. virtual int GetCurrentSensorValue(DOF_MECH dof) override;
  22. virtual DWORD ConvertMotorSpeed(const std::string &componentName, float speed) override;
  23. virtual float ConvertSensorValue(const std::string &componentName, int sensorValue) override;
  24. virtual int ConvertPhysicsValue(const std::string &componentName, float physicsValue) override;
  25. virtual DWORD ConvertMotorStepValue(const std::string &componentName, float physicsOffset) override;
  26. virtual void ResetSystem() override;
  27. virtual BOOL IsSystemReady() override;
  28. virtual BOOL IsNeedCenterAdjust() override;
  29. virtual void SetNotifyLogicDevice(LogicDevice *logicdevice) override;
  30. virtual void NotifyAlignStatus(BOOL isAligned) override;
  31. virtual void NotifySystemIsReady() override;
  32. private:
  33. static PositionManager *m_instance;
  34. IPositionManager *m_implposManager;
  35. };
  36. }