| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | #pragma once#include "XMLSerialization.h"namespace OTSMODEL {	__declspec(dllexport) const double DEFAULT_RADIO = 1.0;	// CMsrResultItem command target	class __declspec(dllexport) CMsrResultItem :  public xmls::ISlo	{	public:		CMsrResultItem();									// constructor		CMsrResultItem(const CMsrResultItem&);				// copy constructor		CMsrResultItem(CMsrResultItem*);					// copy constructor		CMsrResultItem& operator=(const CMsrResultItem&);	// =operator		BOOL operator==(const CMsrResultItem&);				// ==operator		virtual ~CMsrResultItem();							// destructor		// serialization		//void Serialize(CArchive& ar);		void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);		// Type ID		int GetTypeId() { return m_nTypeId; }		void SetTypeId(int a_nTypeId) { m_nTypeId = a_nTypeId; }		// area (micros)		double GetArea() { return m_nArea; }		void SetArea(double a_nArea) { m_nArea = a_nArea; }		// particle number		DWORD GetNumber() { return m_nNumber; }		void SetNumber(DWORD a_nNumber) { m_nNumber = a_nNumber; }		std::string GetName() const { return m_sName; }		void SetName(std::string val) { m_sName = val; }	protected:		// cleanup		void Cleanup();		// initialization		void Init();		// duplication 		void Duplicate(const CMsrResultItem& a_oSource);		// Type ID		int m_nTypeId;		// area (micros)		double m_nArea;		// particle number		DWORD m_nNumber;		std::string m_sName;	};		typedef std::shared_ptr<CMsrResultItem> __declspec(dllexport) CMsrResultItemPtr;	typedef std::vector<CMsrResultItemPtr> __declspec(dllexport) CMsrResultItemsList;	// CMsrResults command target	class __declspec(dllexport) CMsrResults : public xmls::ISlo	{	public:		CMsrResults();										// constructor		CMsrResults(const CMsrResults&);					// copy constructor		CMsrResults(CMsrResults*);							// copy constructor		CMsrResults& operator=(const CMsrResults&);			// =operator		BOOL operator==(const CMsrResults&);				// ==operator		virtual ~CMsrResults();								// destructor		// serialization		void Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode);		// radio		double GetRadio() { return m_dRadio; }		void SetRadio(double a_dRadio) { m_dRadio = a_dRadio; }		// measured area (micros)		DWORD GetMeasuredArea() { return m_nMeasuredArea; }		void SetMeasuredArea(DWORD a_nMeasuredArea) { m_nMeasuredArea = a_nMeasuredArea; }		void CumulateMeasuredArea(DWORD a_nMeasuredArea){ m_nMeasuredArea += a_nMeasuredArea; }		// results items list		CMsrResultItemsList& GetResultItems() { return m_listResultItems; }		void SetResultItems(CMsrResultItemsList& a_listResultItems);		DWORD GetTotalParticleArea();		DWORD GetTotalparticleIdentifyArea();		DWORD GetTotalParticleNumber();  		// calculate display ratio		double CalDisplayRadio();		// cumulate measure results		void CumulateMeasureResults(CMsrResultItemPtr a_poResultItems);		void CumulateMeasureResults(CMsrResultItemsList& a_listResultItems);	protected:		// cleanup		void Cleanup();		// initialization		void Init();		// duplication 		void Duplicate(const CMsrResults& a_oSource);		// radio		double m_dRadio;		// measured area (micros)		DWORD m_nMeasuredArea;		// result items list		CMsrResultItemsList m_listResultItems;	};	typedef std::shared_ptr<CMsrResults> __declspec(dllexport) CMsrResultsPtr;	typedef std::vector<CMsrResultsPtr> __declspec(dllexport) CMsrResultsList;}
 |