| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | #pragma once#include "OTSParticle.h"#include "OTSRect.h"namespace OTSDATA {	class __declspec(dllexport) COTSFieldData : public xmls::ISlo	{	public:		// constructor		COTSFieldData();													// constructor		COTSFieldData(const COTSFieldData&);								// copy constructor		COTSFieldData(COTSFieldData*);										// copy constructor		COTSFieldData& operator=(const COTSFieldData&);						// =operator		BOOL operator==(const COTSFieldData&);								// ==operator		virtual ~COTSFieldData();											// destructor		//void Serialize(CArchive& ar);										// serializatio		virtual void Serialize(bool isStoring, tinyxml2::XMLDocument *classDoc, tinyxml2::XMLElement *rootNode);		// ID		int GetId() { return m_nID; }		void SetId(int a_nID) { m_nID = a_nID; }		// position (from field center manager) 		CPoint GetPosition() { return m_poiPos; }		void SetPosition(CPoint a_poiPos) { m_poiPos = a_poiPos; }		COTSRect GetRect() { return m_rect; }		void SetRect(COTSRect r) { m_rect = r; }		// field file folder		CString GetFieldFileFolder() { return m_strFieldFileFolder; }		void SetFieldFileFolder(CString a_strFieldFileFolder) { m_strFieldFileFolder = a_strFieldFileFolder; }		// particle list		COTSParticleList& GetParticleList() { return m_listParticles; }		void SetParticleList(COTSParticleList& a_listParticles, BOOL a_bClear = TRUE);				// particle list		COTSParticleList& GetBigParticleList() { return m_listBigParticles; }		void SetBigParticleList(COTSParticleList& a_listParticles, BOOL a_bClear = TRUE);		void AddParticle(COTSParticlePtr a_Particle) { m_listBigParticles.push_back(a_Particle); };		//get  bordered particles		COTSParticleList GetTopBorderedBigParticles();		//get  bordered particles		COTSParticleList GetBottomBorderedBigParticles();		//get  bordered particles		COTSParticleList GetLeftBorderedBigParticles();		//get  bordered particles		COTSParticleList GetRightBorderedBigParticles();		// is empty		BOOL IsEmpty() { return m_listParticles.empty(); }		long Width;		long Height;	protected:		// cleanup		void Cleanup();		// initialization		void Init();		// duplication 		void Duplicate(const COTSFieldData& a_oSource);		// ID		int m_nID;		COTSRect m_rect;		// position (from field center manager) 		CPoint m_poiPos;		// field file folder		CString m_strFieldFileFolder;		// particle list		COTSParticleList m_listParticles;		//valid big particles		COTSParticleList m_listBigParticles;//used for  merging with other field later.	};	typedef std::shared_ptr<COTSFieldData> __declspec(dllexport) COTSFieldDataPtr;	typedef std::vector<COTSFieldDataPtr> __declspec(dllexport) COTSFieldDataList;}
 |