#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: CFieldMgrClr(int scanFieldSzie, Size a_ResolutionSize); // constructor CFieldMgrClr(CFieldMgrPtr); !CFieldMgrClr(); ~CFieldMgrClr(); CFieldMgrPtr GetCFiledMgrPtr(); // initialization bool Init(CDomainClr^ a_pMeasureArea, int a_FieldStartMode ); int GetEffectiveFieldWidth(); int GetEffectiveFieldHeight(); // 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); bool IsThisPointInMeasureArea(Point^ p); // measure area CDomainClr^ GetMeasureArea(); bool SetMeasureArea(CDomainClr^ a_pMeasureArea); int GetOverlap(); bool SetOverlap(int a_overlap); bool FindNeighborField( List^ a_flds, Point centerField, Point% a_neighbor, int a_direction); protected: CFieldMgrPtr* m_LpFieldMgr; }; }