| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 | #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;	}}
 |