#pragma once #include "DomainClr.h" #include "OTSImgScanPrmClr.h" #include "FieldMgr.h" #include namespace OTSCLRINTERFACE { using namespace System; using namespace System::Drawing; using namespace System::Collections::Generic; using namespace OTSIMGPROC; public ref class CFieldMgrClr /*: public Object*/ { public: CFieldMgrClr(int scanFieldSzie, Size a_ResolutionSize); // constructor CFieldMgrClr(CFieldMgrPtr); !CFieldMgrClr(); ~CFieldMgrClr(); CFieldMgrPtr GetCFiledMgrPtr(); // initialization bool Init(CDomainClr^ a_pMeasureArea, Size^ a_ResolutionSize,int a_scanfieldsize, int a_FieldStartMode ); // reset bool Reset(CDomainClr^ a_pMeasureArea, Size^ a_ResolutionSize, int a_FieldStartMode, int a_ScanFieldSize, List^ a_listMeasuredFieldCentrePoints); // calculate estimate total fields long CalculateTotalFields(CDomainClr^ a_poMeasureArea, double a_dScanFieldSizeX, Size^ a_sizeResolution); // field centre points list List^ GetFieldCentrePoints(); bool GetFieldRectByIndex(int a_nIndex, System::Drawing::Rectangle^ % a_rctField); int GetTotalFields(); // unmeasured field centre points list SortedList^ GetUnmeasuredFieldCentrePoints(List^ a_listMeasuredFieldCentrePoints); // measure area CDomainClr^ GetMeasureArea(); bool SetMeasureArea(CDomainClr^ a_pMeasureArea); int GetOverlap(); bool SetOverlap(int a_overlap); protected: CFieldMgrPtr* m_LpFieldMgr; }; }