#include "stdafx.h" #include "OTSXRayParam.h" namespace OTSDATA { // constructor COTSXRayParam::COTSXRayParam() { Init(); } // copy constructor COTSXRayParam::COTSXRayParam(const COTSXRayParam& a_oSource) { // can't copy itself if (&a_oSource == this) { return; } // copy data over Duplicate(a_oSource); } // copy constructor COTSXRayParam::COTSXRayParam(COTSXRayParam* a_poSource) { // input check ASSERT(a_poSource); if (!a_poSource) { return; } // can't copy itself if (a_poSource == this) { return; } // copy data over Duplicate(*a_poSource); } // =operator COTSXRayParam& COTSXRayParam::operator=(const COTSXRayParam& a_oSource) { // cleanup Cleanup(); // copy the class data over Duplicate(a_oSource); // return class return *this; } // ==operator BOOL COTSXRayParam::operator==(const COTSXRayParam& a_oSource) { // return test result return m_nScanMode == a_oSource.m_nScanMode && m_nSearchSpeed == a_oSource.m_nSearchSpeed && m_nXRaySearchCount == a_oSource.m_nXRaySearchCount && m_nAnalySpeed == a_oSource.m_nAnalySpeed && m_nAnalyExpCount == a_oSource.m_nAnalyExpCount&& m_nMidSearchAQTime == a_oSource.m_nMidSearchAQTime&& m_nMidAnalyAQTime == a_oSource.m_nMidAnalyAQTime&& m_bShowScanMode == a_oSource.m_bShowScanMode&& m_bShowSpeed == a_oSource.m_bShowSpeed&& m_bShowExpCount == a_oSource.m_bShowExpCount; } // detractor COTSXRayParam::~COTSXRayParam() { Cleanup(); } // COTSStageData member functions // serialization void COTSXRayParam::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode) { xmls::xInt xnScanMode; xmls::xInt xnSearchSpeed; xmls::xInt xnXRaySearchCount; xmls::xInt xnAnalySpeed; xmls::xInt xnAnalyExpCount; xmls::xInt xnMidSearchAQTime; xmls::xInt xnMidAnalyAQTime; /*xmls::xBool xbShowScanMode; xmls::xBool xbShowSpeed; xmls::xBool xbShowExpCount;*/ xmls::Slo slo; slo.Register("ScanMode", &xnScanMode); slo.Register("SearchSpeed", &xnSearchSpeed); slo.Register("XRaySearchCount", &xnXRaySearchCount); slo.Register("AnalySpeed", &xnAnalySpeed); slo.Register("AnalyExpCount", &xnAnalyExpCount); slo.Register("MidSearchAQTime", &xnMidSearchAQTime); slo.Register("MidAnalyAQTime", &xnMidAnalyAQTime); slo.Register("ScanMode", &xnScanMode); slo.Register("SearchSpeed", &xnSearchSpeed); slo.Register("XRaySearchCount", &xnXRaySearchCount); slo.Register("AnalySpeed", &xnAnalySpeed); slo.Register("AnalyExpCount", &xnAnalyExpCount); slo.Register("MidSearchAQTime", &xnMidSearchAQTime); slo.Register("MidAnalyAQTime", &xnMidAnalyAQTime); /*slo.Register("ShowScanMode", &xbShowScanMode); slo.Register("ShowSpeed", &xbShowSpeed); slo.Register("ShowExpCount", &xbShowExpCount);*/ if (isStoring) { xnScanMode = (int)m_nScanMode; xnSearchSpeed = (int)m_nSearchSpeed; xnXRaySearchCount = m_nXRaySearchCount; xnMidAnalyAQTime = (int)m_nAnalySpeed; xnAnalyExpCount = m_nAnalyExpCount; xnMidSearchAQTime = m_nMidSearchAQTime; xnMidAnalyAQTime = m_nMidAnalyAQTime; /*xbShowScanMode = m_bShowScanMode; xbShowSpeed = m_bShowSpeed; xbShowExpCount = m_bShowExpCount;*/ slo.Serialize(true, classDoc, rootNode); } else { slo.Serialize(false, classDoc, rootNode); m_nScanMode = (OTS_X_RAY_SCAN_MODE)xnScanMode.value(); m_nSearchSpeed = (OTS_THREE_TIES_OPTIONS)xnSearchSpeed.value(); m_nAnalySpeed = (OTS_THREE_TIES_OPTIONS)xnAnalySpeed.value(); m_nXRaySearchCount = xnXRaySearchCount.value(); m_nAnalyExpCount = xnAnalyExpCount.value(); m_nMidSearchAQTime = xnMidSearchAQTime.value(); m_nMidAnalyAQTime = xnMidAnalyAQTime.value(); /*m_bShowScanMode = xbShowScanMode.value(); m_bShowSpeed = xbShowSpeed.value(); m_bShowExpCount = xbShowExpCount.value();*/ } } void COTSXRayParam::SetLowSearchAQTime(int a_nLowSearchAQTime) { m_nMidSearchAQTime = (int)(a_nLowSearchAQTime * 4 /3 + 0.5) ; } void COTSXRayParam::SetHightSearchAQTime(int a_nHighSearchAQTime) { m_nMidSearchAQTime = (int)(a_nHighSearchAQTime * 4 / 5 + 0.5); } void COTSXRayParam::SetLowAnalyAQTime(int a_nLowAnalyAQTime) { m_nMidSearchAQTime = (int)(a_nLowAnalyAQTime * 4 / 3 + 0.5); } void COTSXRayParam::SetHighAnalyAQTime(int a_nHighAnalyAQTime) { m_nMidSearchAQTime = (int)(a_nHighAnalyAQTime * 4 / 5 + 0.5); } // cleanup void COTSXRayParam::Cleanup() { // nothing needs to be done at the moment } // initialization void COTSXRayParam::Init() { m_nScanMode = DEFAULE_XRAY_SCAN_MODE; m_nSearchSpeed = DEFAULE_SEARCH_XRAY_SPEED; m_nXRaySearchCount = DEFAULE_XRAY_LOW_COUNT; m_nAnalySpeed = DEFAULE_ANALYSIS_XRAY_SPEED; m_nAnalyExpCount = DEFAULE_XRAY_EXP_COUNT; m_nMidSearchAQTime = DEFAULE_XRAY_SEARCH_MID_TIME; m_nMidAnalyAQTime = DEFAULE_XRAY_ANALY_MID_TIME; m_bShowScanMode = TRUE; m_bShowSpeed = TRUE; m_bShowExpCount = TRUE; } // duplication void COTSXRayParam::Duplicate(const COTSXRayParam& a_oSource) { // initialization Init(); // copy data over m_nScanMode = a_oSource.m_nScanMode; m_nSearchSpeed = a_oSource.m_nSearchSpeed; m_nXRaySearchCount = a_oSource.m_nXRaySearchCount; m_nAnalySpeed = a_oSource.m_nAnalySpeed; m_nAnalyExpCount = a_oSource.m_nAnalyExpCount; m_nMidSearchAQTime = a_oSource.m_nMidSearchAQTime; m_nMidAnalyAQTime = a_oSource.m_nMidAnalyAQTime; m_bShowScanMode = a_oSource.m_bShowScanMode; m_bShowSpeed = a_oSource.m_bShowSpeed; m_bShowExpCount = a_oSource.m_bShowExpCount; } }