123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #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::Mechanical
- {
- //-----------------------------------------------------------------------------
- // Collimator
- //-----------------------------------------------------------------------------
- namespace nsDev = DIOS::Dev;
- static const char* MechanicalUnitType = "{A6C288B9-8C4F-3A6C-9C5F-12345A0F7284}";
- class MechanicalDevice : public IODeviceDetail
- {
- using super = IODeviceDetail;
- unsigned int m_Grid;
- unsigned int m_Mammo_AE;//AEC
- unsigned int m_Mammo_FT;//filter
- unsigned int m_Mammo_PressureState;//thickness
- unsigned int m_Mammo_CompPressureDEC;//自动释放设定
- unsigned int m_Mammo_Depress;
- float m_Mammo_MechAngle;
- float m_Mammo_MechSecAngle;
- float m_Mammo_MechHeight;
- float m_Mammo_PressureValue;//压迫值
- float m_Mammo_AGD;
- float m_Mammo_MAG;
- unsigned int m_InvalidPressureThreshold; //无效压力闯值
- //压迫板信息(主要是尺寸,目前不确定)
- string m_Mammo_CompressPaddle;
- void FireNotify(string key, unsigned int value);
- void FireNotify(string key, float value);
- void FireNotify(string key, string value);
- protected:
- std::shared_ptr <DIOS::Dev::IOEventCenter> m_EventCenter;
- public:
- MechanicalDevice(std::shared_ptr <DIOS::Dev::IOEventCenter> EventCenter);
- ~MechanicalDevice();
- virtual std::string GetGUID() const override;
- virtual bool Prepare();
- virtual void Register();
- RET_STATUS JSSetGrid(std::string in, std::string& out);
- RET_STATUS JSSetAutoTracking(std::string in, std::string& out);
- RET_STATUS JSGetTomoResults(std::string in, std::string& out);
- RET_STATUS JSGetGrid(std::string& out);
- RET_STATUS JSGetMammo_AE(std::string& out);
- RET_STATUS JSGetMammo_FT(std::string& out);
- RET_STATUS JSGetMammo_PressureState(std::string& out);
- RET_STATUS JSGetMammo_CompPressureDEC(std::string& out);
- RET_STATUS JSGetMammo_Depress(std::string& out);
- RET_STATUS JSGetMammo_MechAngle(std::string& out);
- RET_STATUS JSGetMammo_MechSecAngle(std::string& out);
- RET_STATUS JSGetMammo_MechHeight(std::string& out);
- RET_STATUS JSGetMammo_PressureValue(std::string& out);
- RET_STATUS JSGetMammo_AGD(std::string& out);
- RET_STATUS JSGetMammo_MAG(std::string& out);
- RET_STATUS JSGetMammo_CompressPaddle(std::string& out);
- virtual RET_STATUS GetTomoResults(ResDataObject& resultAngle, ResDataObject& resultHeight);
- virtual RET_STATUS SetGrid(unsigned int GridType);
- virtual RET_STATUS SetAutoTracking(unsigned int nAutoTracking);
- void UpdateGrid(unsigned int Value);
- void UpdateMammo_AE(unsigned int Value);
- void UpdateMammo_FT(unsigned int Value);
- void UpdateMammo_PressureState(unsigned int Value);
- void UpdateMammo_CompPressureDEC(unsigned int Value);
- void UpdateMammo_Depress(unsigned int Value);
- void UpdateMammo_MechAngle(float Value);
- void UpdateMammo_MechSecAngle(float Value);
- void UpdateMammo_MechHeight(float Value);
- void UpdateMammo_PressureValue(float Value);
- void UpdateMammo_AGD(float Value);
- void UpdateMammo_MAG(float Value);
- void UpdateMammo_CompressPaddle(std::string Value);
- void ReportMessageToDicom();
- void UpdateMammo_PressureErrorValue(unsigned int Value);
- unsigned int GetGrid();
- unsigned int GetMammo_AE();
- unsigned int GetMammo_FT();
- unsigned int GetMammo_PressureState();
- unsigned int GetMammo_CompPressureDEC();
- unsigned int GetMammo_Depress();
- float GetMammo_MechAngle();
- float GetMammo_MechHeight();
- float GetMammo_PressureValue();
- float GetMammo_AGD();
- float GetMammo_MAG();
- };
- }
|