#pragma once #include "SmplMsrResultFile.h" #include "OTSFieldMgr.h" namespace OTSMODEL { using namespace OTSDATA; class __declspec(dllexport)CSmplMsrResultFileMgr { public: CSmplMsrResultFileMgr(CString workingFolder); // constructor ~CSmplMsrResultFileMgr(); // destructor // initialization BOOL Init(COTSSamplePtr a_pSample); // Load BOOL Load(CString a_strPathname = _T("")); BOOL LoadFieldDataFromDB(CString a_strPathname); // Save BOOL Save(CString a_strPathname = _T("")); // working folder string CString GetWorkingFolderStr() { return m_strWorkingFolder; } void SetWorkingFolderStr(CString a_strWorkingFolder) { m_strWorkingFolder = a_strWorkingFolder; } CString GetFieldFileSubFolderStr(); // sample measure result file CSmplMsrResultFilePtr GetSmplMsrResultFile() { return m_pSmplMsrResultFile; } void SetSmplMsrResultFile(CSmplMsrResultFilePtr a_pSmplMsrResultFile) { m_pSmplMsrResultFile = a_pSmplMsrResultFile; } // save a x-ray file for a field BOOL SaveXRayFileForAField(COTSFieldMgrPtr a_pField); // fields COTSFieldDataPtr GetFieldById(int a_nID); BOOL AddAField(COTSFieldDataPtr a_pFieldData); BOOL DeleteAFieldById(int a_nID); // pathname CString GetPathName() { return m_strPathname; } void SetPathName(CString PathName) { m_strPathname = PathName; } // set sample void SetSample(COTSSamplePtr a_pSample); // set SEM general data void SetSEMGnr(CSEMDataGnrPtr a_pSEMGnr); // get id for a new field int GetIdForANewField(int a_nLastFieldId); // set SEMStageData void SetSEMStageData(CSEMStageDataPtr a_pSEMStageData); // set SEMStage void SetSEMStage(CStagePtr a_pStage); // get particle list COTSParticleList GetParticleList() { return m_listParticle; } void SetParticleList(COTSParticleList& a_listParticle); BOOL ComputeParticleList(); // analysis x-ray list CPosXraysList GetAnalysisXray() { return m_listAnalysisXray; } BOOL SetAnalysisXrayToList(CPosXraysList a_listAnalysisXray); protected: // working folder string CString m_strWorkingFolder; // pathname CString m_strPathname; // sample measure result file CSmplMsrResultFilePtr m_pSmplMsrResultFile; // particle list, need compute COTSParticleList m_listParticle; // analysis x-ray list CPosXraysList m_listAnalysisXray; // create a new file BOOL CreateFileMgr(CString a_strPathname); COTSFieldMgrList m_listFieldMgr; }; typedef std::shared_ptr __declspec(dllexport) CSmplMsrResultFileMgrPtr; typedef std::vector __declspec(dllexport) CSmplMsrResultFileMgrList; }