1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #pragma once
- #include "OTSParticle.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; }
- // 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;
- // 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;
- }
|