#pragma once #include "otsdataconst.h" #include "XMLSerialization.h" namespace OTSDATA { //using namespace OTSDATA; // x-ray scan mode __declspec(dllexport) const OTS_X_RAY_SCAN_MODE DEFAULE_XRAY_SCAN_MODE = OTS_X_RAY_SCAN_MODE::PointMode; // search x-ray low counts cut off __declspec(dllexport) const int DEFAULE_XRAY_LOW_COUNT = 800; // search x-ray speed __declspec(dllexport) const OTS_THREE_TIES_OPTIONS DEFAULE_SEARCH_XRAY_SPEED = OTS_THREE_TIES_OPTIONS::TIE2; // analysis x-ray speed __declspec(dllexport) const OTS_THREE_TIES_OPTIONS DEFAULE_ANALYSIS_XRAY_SPEED = OTS_THREE_TIES_OPTIONS::TIE2; // x-ray expect counts __declspec(dllexport) const int DEFAULE_XRAY_EXP_COUNT = 4500; // x-ray speed search __declspec(dllexport) const int DEFAULE_XRAY_SEARCH_MID_TIME = 20; // x-ray speed analysis __declspec(dllexport) const int DEFAULE_XRAY_ANALY_MID_TIME = 1000; class __declspec(dllexport) COTSXRayParam : public xmls::ISlo { public: COTSXRayParam(); // constructor COTSXRayParam(const COTSXRayParam&); // copy constructor COTSXRayParam(COTSXRayParam*); // copy constructor COTSXRayParam& operator=(const COTSXRayParam&); // =operator BOOL operator==(const COTSXRayParam&); // =operator virtual ~COTSXRayParam(); // detractor // serialization void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode); OTS_X_RAY_SCAN_MODE GetScanMode() { return m_nScanMode; } void SetScanMode(OTS_X_RAY_SCAN_MODE a_nVal) { m_nScanMode = a_nVal; } BOOL GetShowScanMode() { return m_bShowScanMode; } void SetShowScanMode(BOOL a_bValue) { m_bShowScanMode = a_bValue; } OTS_THREE_TIES_OPTIONS GetSearchSpeed() { return m_nSearchSpeed;} void SetSearchSpeed(OTS_THREE_TIES_OPTIONS a_nVal) { m_nSearchSpeed = a_nVal; } // low count int GetXRaySearchCount() { return m_nXRaySearchCount;} void SetXRaySearchCount(int a_nVal) { m_nXRaySearchCount = a_nVal; } OTS_THREE_TIES_OPTIONS GetAnalySpeed() { return m_nAnalySpeed;} void SetAnalySpeed(OTS_THREE_TIES_OPTIONS a_nVal) { m_nAnalySpeed = a_nVal;} BOOL GetShowSpeed() { return m_bShowSpeed; } void SetShowSpeed(BOOL a_bValue) { m_bShowSpeed = a_bValue; } int GetAnalyExpCount() {return m_nAnalyExpCount;} void SetAnalyExpCount(int a_nVal) { m_nAnalyExpCount = a_nVal; } BOOL GetShowExpCount() { return m_bShowExpCount; } void SetShowExpCount(BOOL a_bValue) { m_bShowExpCount = a_bValue; } int GetMidSearchAQTime() { return m_nMidSearchAQTime; } void SetMidSearchAQTime(int a_nMidSearchAQTime) { m_nMidSearchAQTime = a_nMidSearchAQTime; } int GetLowSearchAQTime() { return m_nMidSearchAQTime * 3 / 4; } void SetLowSearchAQTime(int a_nLowSearchAQTime); int GetHighSearchAQTime() { return m_nMidSearchAQTime * 5 / 4; } void SetHightSearchAQTime(int a_nHighSearchAQTime); int GetMidAnalyAQTime() { return m_nMidAnalyAQTime; } void SetMidAnalyAQTime(int a_nMidAnalyAQTime) { m_nMidAnalyAQTime = a_nMidAnalyAQTime; } int GetLowAnalyAQTime() { return (int)m_nMidAnalyAQTime * 3 / 4; } void SetLowAnalyAQTime(int a_nLowAnalyAQTime); int GetHighAnalyAQTime() { return (int)m_nMidAnalyAQTime * 5 / 4; } void SetHighAnalyAQTime(int a_nHighAnalyAQTime); protected: // cleanup void Cleanup(); // initialization void Init(); // duplication void Duplicate(const COTSXRayParam& a_oSource); private: // scan mode: point scan, feature scan OTS_X_RAY_SCAN_MODE m_nScanMode; BOOL m_bShowScanMode; // search xray, there is only xray data,and there is no element // search xray scan speed OTS_THREE_TIES_OPTIONS m_nSearchSpeed; // search xray count int m_nXRaySearchCount; // analysis xray, there are both xray data and element data // analysis xray scan speed OTS_THREE_TIES_OPTIONS m_nAnalySpeed; BOOL m_bShowSpeed; // analysis xray count int m_nAnalyExpCount; BOOL m_bShowExpCount; // search xray AQTime at middle speed int m_nMidSearchAQTime; // search xray AQTime at middle speed int m_nMidAnalyAQTime; // xray step to do a xray int m_nStep; BOOL m_bShowStep; }; typedef std::shared_ptr __declspec(dllexport) COTSXRayParamPtr; typedef std::vector __declspec(dllexport) COTSXRayParamsList; }