123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #pragma once
- #include <string>
- #include <minwindef.h>
- #include "ResDataObject.h"
- #include "DIOS.Dev.IODevice.hpp"
- #include "DIOS.Dev.IODevice.Detail.hpp"
- namespace DIOS::Dev::Detail::Collimator
- {
- //-----------------------------------------------------------------------------
- // Collimator
- //-----------------------------------------------------------------------------
- namespace nsDev = DIOS::Dev;
- static const char* CollimatorUnitType = "{566EC9F1-CE5A-4B31-9D2A-E9E80B4CA0CC}";
- class CollimatorDevice : public IODeviceDetail
- {
- using super = IODeviceDetail;
- int m_nXSize;
- int m_nYSize;
- int m_nFilter;
- int m_nSID;
- int m_nAngle;
- int m_nMode;
- void FireNotify(string key, int value);
- void FireNotify(string key, string value);
- protected:
- std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
- public:
- CollimatorDevice(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
- ~CollimatorDevice();
- virtual std::string GetGUID() const override;
- virtual bool Prepare();
- virtual void Register();
- RET_STATUS JSSetStudyInfo(std::string in, std::string& out);
- RET_STATUS JSSetTechParamsInfo(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorSize(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorSID(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorFilter(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorAngle(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorMode(std::string in, std::string& out);
- RET_STATUS JSSetCollimatorLight(std::string in, std::string& out);
- RET_STATUS JSGetCollimatorXSize(std::string& out);
- RET_STATUS JSGetCollimatorYSize(std::string& out);
- RET_STATUS JSGetCollimatorSID(std::string& out);
- RET_STATUS JSGetCollimatorFilter(std::string& out);
- RET_STATUS JSGetCollimatorAngle(std::string& out);
- RET_STATUS JSGetCollimatorMode(std::string& out);
- //RET_STATUS JSGetCollimatorLight(std::string& out);
- virtual RET_STATUS SetStudyInfo(ResDataObject& pParam);
- virtual RET_STATUS SetTechParamsInfo(ResDataObject& pParam);
- virtual RET_STATUS SetCollimatorSize(int xsize, int ysize);
- virtual RET_STATUS SetCollimatorSID(int sid);
- virtual RET_STATUS SetCollimatorFilter(int pParams);
- virtual RET_STATUS SetCollimatorAngle(int pParams);
- virtual RET_STATUS SetCollimatorMode(int pParams);
- virtual RET_STATUS SetCollimatorLight(int pParams);
- int GetCollimatorAngle();
- int GetCollimatorXSize();
- int GetCollimatorYSize();
- int GetCollimatorSID();
- int GetCollimatorFilter();
- int GetCollimatorMode();
- RET_STATUS UpdateCollimatorXSize(int Param);
- RET_STATUS UpdateCollimatorYSize(int Param);
- RET_STATUS UpdateCollimatorSID(int Param);
- RET_STATUS UpdateCollimatorAngle(int Param);
- RET_STATUS UpdateCollimatorFilter(int Param);
- RET_STATUS UpdateCollimatorMode(int Param);
- void ReportMessageToDicom();
- };
- }
|