#pragma once #include "IMotionStage.h" #include "WorkstationNameDef.h" namespace DIOS::Dev::Detail::MachineryECOM { class IMachineryManager; class IPositionManager; class IMotionModel : public IMotionStage { public: IMotionModel(){} virtual ~IMotionModel(){} public: virtual void Initialize(IMachineryManager *machineryManager, IPositionManager *coordinates) = 0; virtual void LoadMachineryParams(ResDataObject ¶ms) = 0; virtual void LoadModelParams(ResDataObject ¶ms) = 0; virtual void SetTechnicalParams(ResDataObject ¶ms) = 0; virtual void OnFeedbackMotionParams(ResDataObject ¶ms) = 0; virtual BOOL GetMotionParams(ResDataObject ¶ms) = 0; virtual void SwitchScanningComponents(int nSwitch) = 0; virtual void SwitchWorkstation(string ws) = 0; protected: string m_CurWS; }; }