#pragma once #include "OTSFieldData.h" #include "OTSParticleClr.h" namespace OTSCLRINTERFACE { using namespace System; using namespace OTSDATA; public ref class COTSFieldDataClr : public Object { public: COTSFieldDataClr(); // constructor // copy constructor COTSFieldDataClr(COTSFieldDataPtr); // copy constructor // =operator !COTSFieldDataClr(); ~COTSFieldDataClr(); COTSFieldDataPtr GetOTSFieldDataPtr(); // ID int GetId() { return mFieldData->get()->GetId (); } void SetId(int a_nID) {mFieldData->get()->SetId ( a_nID); } // position (from field center manager) System::Drawing ::Point ^ GetPosition() { return gcnew System::Drawing::Point(mFieldData->get()->GetPosition ().x , mFieldData->get()->GetPosition().y); } void SetPosition(System::Drawing::Point^ a_poiPos) { mFieldData->get()->SetPosition(CPoint(a_poiPos->X, a_poiPos->Y)); } // field file folder String^ GetFieldFileFolder() { return gcnew String(mFieldData->get()->GetFieldFileFolder() ); } void SetFieldFileFolder(String^ a_strFieldFileFolder) { mFieldData->get()->SetFieldFileFolder (CString (a_strFieldFileFolder)); } // particle list COTSParticleListClr^ GetParticleList(); void SetParticleList(COTSParticleListClr^ a_listParticles); void AddParticle(COTSParticleClr^ a_particle) { mFieldData->get()->AddParticle(a_particle->GetOTSParticlePtr()); } void SetImageWidth(int a_width) { mFieldData->get()->Width = a_width; } void SetImageHeight(int a_height) { mFieldData->get()->Height= a_height; } protected: COTSFieldDataPtr* mFieldData; }; typedef System::Collections::Generic::List COTSFieldDataListClr; }