#pragma once #include "afx.h" #include "OTSFieldData.h" #include "OTSImageProcessParam.h" #include "PosXray.h" #include "MsrResults.h" #include "MsrSampleStatus.h" #include "IncAFileMgr.h" namespace OTSMODEL { class __declspec(dllexport) COTSFieldMgr { public: COTSFieldMgr(); virtual ~COTSFieldMgr(); // init BOOL Init(COTSFieldDataPtr a_pFieldData, CBSEImgPtr a_pBSEImg); COTSFieldDataPtr GetOTSFieldData() { return m_pFieldData; } void SetOTSFieldData(COTSFieldDataPtr a_pOTSFieldData); // BSE image CBSEImgPtr GetBSEImage() { return m_pBSEImg; } void SetBSEImage(CBSEImgPtr a_pBSEImg); void SetMsrStatus(CMsrSampleStatusPtr s) { m_pMsrStatus = s; } CMsrSampleStatusPtr GetMsrStatus() { return m_pMsrStatus; } // searching x ray list CPosXrayList GetSearchPosXrayList() { return m_listSearchPosXray; } // analysis x ray list CPosXrayList GetAnalysisPosXrayList() { return m_listAnalysisPosXray; } void SetAnalysisPosXayList(CPosXrayList& a_listPosXray, BOOL a_bClear = TRUE); CMsrResultsPtr GetMsrResult() { return m_pMsrResults; } void SetMsrResult(CMsrResultsPtr a_pMsrResults); CPosXrayList GetFastCompareXrayList() const { return m_listFastCompareXray; } void SetFastCompareXrayList(CPosXrayList val) { m_listFastCompareXray = val; } COTSParticleList GetBigParticlesList() const { return m_listBigParticles; } void SetBigParticlesList(COTSParticleList val) { m_listBigParticles = val; } COTSParticleList GetSmallParticlesList() const { return m_listSmallParticles; } void SetSmallParticlesList(COTSParticleList val, double percentageOfWhole) { m_listSmallParticles = val; m_smallParticlePercentage = percentageOfWhole; } protected: // field data COTSFieldDataPtr m_pFieldData; // BSE image CBSEImgPtr m_pBSEImg; // searching x ray list CPosXrayList m_listSearchPosXray; // analysis x ray list CPosXrayList m_listAnalysisPosXray; // fast compare analysis x ray list CPosXrayList m_listFastCompareXray; COTSParticleList m_listBigParticles; COTSParticleList m_listSmallParticles; // sample result CMsrResultsPtr m_pMsrResults; CMsrSampleStatusPtr m_pMsrStatus; BOOL GetIncAParticleList(COTSParticleList & a_listParticleOut); // get inclusion particle double m_smallParticlePercentage;//if the small particles are measured for a percentage of the whole,then this variable remember the percentage. }; typedef std::shared_ptr __declspec(dllexport) COTSFieldMgrPtr; typedef std::vector __declspec(dllexport) COTSFieldMgrList; }