SmplMsrResultFileMgr.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #pragma once
  2. #include "SmplMsrResultFile.h"
  3. #include "OTSFieldMgr.h"
  4. namespace OTSMODEL
  5. {
  6. using namespace OTSDATA;
  7. class __declspec(dllexport)CSmplMsrResultFileMgr
  8. {
  9. public:
  10. CSmplMsrResultFileMgr(CString workingFolder); // constructor
  11. ~CSmplMsrResultFileMgr(); // destructor
  12. // initialization
  13. BOOL Init(COTSSamplePtr a_pSample);
  14. // Load
  15. BOOL Load(CString a_strPathname = _T(""));
  16. BOOL LoadFieldDataFromDB(CString a_strPathname);
  17. // Save
  18. BOOL Save(CString a_strPathname = _T(""));
  19. // working folder string
  20. CString GetWorkingFolderStr() { return m_strWorkingFolder; }
  21. void SetWorkingFolderStr(CString a_strWorkingFolder) { m_strWorkingFolder = a_strWorkingFolder; }
  22. CString GetFieldFileSubFolderStr();
  23. // sample measure result file
  24. CSmplMsrResultFilePtr GetSmplMsrResultFile() { return m_pSmplMsrResultFile; }
  25. void SetSmplMsrResultFile(CSmplMsrResultFilePtr a_pSmplMsrResultFile) { m_pSmplMsrResultFile = a_pSmplMsrResultFile; }
  26. // save a BSE file for a field
  27. //BOOL SaveBSEFileForAField(COTSFieldMgrPtr a_pField);
  28. // save a x-ray file for a field
  29. BOOL SaveXRayFileForAField(COTSFieldMgrPtr a_pField);
  30. // fields
  31. COTSFieldDataPtr GetFieldById(int a_nID);
  32. BOOL AddAField(COTSFieldDataPtr a_pFieldData);
  33. BOOL DeleteAFieldById(int a_nID);
  34. // pathname
  35. CString GetPathName() { return m_strPathname; }
  36. void SetPathName(CString PathName) { m_strPathname = PathName; }
  37. // set sample
  38. void SetSample(COTSSamplePtr a_pSample);
  39. // set SEM general data
  40. void SetSEMGnr(CSEMDataGnrPtr a_pSEMGnr);
  41. // get id for a new field
  42. int GetIdForANewField(int a_nLastFieldId);
  43. // set SEMStageData
  44. void SetSEMStageData(CSEMStageDataPtr a_pSEMStageData);
  45. // set SEMStage
  46. void SetSEMStage(CStagePtr a_pStage);
  47. // according to a sample result file get a list of OTSFieldMgr
  48. //COTSFieldMgrList GetOTSFldMgrListAndAnalysisXrayList();
  49. // get particle list
  50. COTSParticleList GetParticleList() { return m_listParticle; }
  51. void SetParticleList(COTSParticleList& a_listParticle);
  52. BOOL ComputeParticleList();
  53. // analysis x-ray list
  54. CPosXraysList GetAnalysisXray() { return m_listAnalysisXray; }
  55. BOOL SetAnalysisXrayToList(CPosXraysList a_listAnalysisXray);
  56. protected:
  57. // working folder string
  58. CString m_strWorkingFolder;
  59. // pathname
  60. CString m_strPathname;
  61. // sample measure result file
  62. CSmplMsrResultFilePtr m_pSmplMsrResultFile;
  63. // particle list, need compute
  64. COTSParticleList m_listParticle;
  65. // analysis x-ray list
  66. CPosXraysList m_listAnalysisXray;
  67. // create a new file
  68. BOOL CreateFileMgr(CString a_strPathname);
  69. COTSFieldMgrList m_listFieldMgr;
  70. };
  71. typedef std::shared_ptr<CSmplMsrResultFileMgr> __declspec(dllexport) CSmplMsrResultFileMgrPtr;
  72. typedef std::vector<CSmplMsrResultFileMgrPtr> __declspec(dllexport) CSmplMsrResultFileMgrList;
  73. }