1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #pragma once
- #include "IMechnicalComponentFactory.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class MechnicalComponentFactory : public IMechnicalComponentFactory
- {
- public:
- MechnicalComponentFactory();
- ~MechnicalComponentFactory();
- public:
- static IMechnicalComponentFactory *Instance();
- public:
- virtual IComponentController *CreateController(COMPONENT_CONTROLLER_TYPE type, const std::string &name) override;
- private:
- IComponentController *CreateDetectorHeightController(const std::string &name);
- IComponentController *CreateTubeAngleController(const std::string &name);
- IComponentController *CreateTubeHeightController(const std::string &name);
- IComponentController *CreateSensorADController(const std::string &name);
- IComponentController *CreateSensorEncoderController(const std::string &name);
- IComponentController *CreateExposureController(const std::string &name);
- IComponentController *CreateLandmarkController(const std::string &name);
- IComponentController *CreateCollimatorController(const std::string &name);
- IComponentController *CreateCArmTubeCircularController(const std::string &name);
- IComponentController *CreateCArmTubeSwingController(const std::string &name);
- IComponentController *CreateFluoroSwitchController(const std::string& name);
- IComponentController* CreateTubeLineSwitchController(const std::string& name);
- IComponentController* CreateTubeHorizontalController(const std::string& name);
- private:
- std::map<std::string, IComponentController *> m_detectorHeightControllers;
- std::map<std::string, IComponentController *> m_tubeAngleControllers;
- std::map<std::string, IComponentController *> m_tubeHeightControllers;
- std::map<std::string, IComponentController *> m_sensorADControllers;
- std::map<std::string, IComponentController *> m_sensorEncoderControllers;
- std::map<std::string, IComponentController *> m_exposureControllers;
- std::map<std::string, IComponentController *> m_landmarkControllers;
- std::map<std::string, IComponentController*> m_collimatorControllers;
- std::map<std::string, IComponentController*> m_tubeCircularControllers;
- std::map<std::string, IComponentController*> m_tubeSwingControllers;
- std::map<std::string, IComponentController*> m_fluoroSwitchControllers;
- std::map<std::string, IComponentController*> m_tubeLineSwitchControllers;
- std::map<std::string, IComponentController*> m_tubeHorizontalControllers;
- static MechnicalComponentFactory *m_instance;
- };
- }
|