MotionModelFactory.h 801 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "IMotionModelFactory.h"
  3. namespace DIOS::Dev::Detail::MachineryECOM
  4. {
  5. class MotionModelFactory : public IMotionModelFactory
  6. {
  7. public:
  8. MotionModelFactory();
  9. ~MotionModelFactory();
  10. public:
  11. static MotionModelFactory *Instance();
  12. public:
  13. virtual IMotionModel *CreateModel(MOTION_MODEL_TYPE type) override;
  14. private:
  15. IMotionModel *CreateTomoMotionModel();
  16. IMotionModel *CreateRADMotionModel();
  17. IMotionModel *CreateResetMotionModel();
  18. IMotionModel *CreateCalibrationMotionModel();
  19. IMotionModel *CreateParkingMotionModel();
  20. IMotionModel *CreateSelfTestMotionModel();
  21. IMotionModel *CreateCBCTMotionModel();
  22. IMotionModel *CreateCArmGeneralMotionModel();
  23. IMotionModel *CreateCArmResetMotionModel();
  24. private:
  25. static MotionModelFactory *m_instance;
  26. };
  27. }