SmplMsrResultFileMgr.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. // get particle STD data
  20. CPartSTDDataPtr GetPartSTDData();
  21. // working folder string
  22. CString GetWorkingFolderStr() { return m_strWorkingFolder; }
  23. void SetWorkingFolderStr(CString a_strWorkingFolder) { m_strWorkingFolder = a_strWorkingFolder; }
  24. CString GetFieldFileSubFolderStr();
  25. // sample measure result file
  26. CSmplMsrResultFilePtr GetSmplMsrResultFile() { return m_pSmplMsrResultFile; }
  27. void SetSmplMsrResultFile(CSmplMsrResultFilePtr a_pSmplMsrResultFile) { m_pSmplMsrResultFile = a_pSmplMsrResultFile; }
  28. // save a BSE file for a field
  29. BOOL SaveBSEFileForAField(COTSFieldMgrPtr a_pField);
  30. // save a x-ray file for a field
  31. BOOL SaveXRayFileForAField(COTSFieldMgrPtr a_pField);
  32. // fields
  33. COTSFieldDataPtr GetFieldById(int a_nID);
  34. BOOL AddAField(COTSFieldDataPtr a_pFieldData);
  35. BOOL DeleteAFieldById(int a_nID);
  36. // pathname
  37. CString GetPathName() { return m_strPathname; }
  38. void SetPathName(CString PathName) { m_strPathname = PathName; }
  39. // set sample
  40. void SetSample(COTSSamplePtr a_pSample);
  41. // set SEM general data
  42. void SetSEMGnr(CSEMDataGnrPtr a_pSEMGnr);
  43. // get id for a new field
  44. int GetIdForANewField(int a_nLastFieldId);
  45. // set SEMStageData
  46. void SetSEMStageData(CSEMStageDataPtr a_pSEMStageData);
  47. // set SEMStage
  48. void SetSEMStage(CStagePtr a_pStage);
  49. // according to a sample result file get a list of OTSFieldMgr
  50. COTSFieldMgrList GetOTSFldMgrListAndAnalysisXrayList();
  51. // get particle list
  52. COTSParticleList GetParticleList() { return m_listParticle; }
  53. void SetParticleList(COTSParticleList& a_listParticle);
  54. BOOL ComputeParticleList();
  55. // analysis x-ray list
  56. CPosXraysList GetAnalysisXray() { return m_listAnalysisXray; }
  57. BOOL SetAnalysisXrayToList(CPosXraysList a_listAnalysisXray);
  58. protected:
  59. // working folder string
  60. CString m_strWorkingFolder;
  61. // pathname
  62. CString m_strPathname;
  63. // sample measure result file
  64. CSmplMsrResultFilePtr m_pSmplMsrResultFile;
  65. // particle list, need compute
  66. COTSParticleList m_listParticle;
  67. // analysis x-ray list
  68. CPosXraysList m_listAnalysisXray;
  69. // create a new file
  70. BOOL CreateFileMgr(CString a_strPathname);
  71. COTSFieldMgrList m_listFieldMgr;
  72. };
  73. typedef std::shared_ptr<CSmplMsrResultFileMgr> __declspec(dllexport) CSmplMsrResultFileMgrPtr;
  74. typedef std::vector<CSmplMsrResultFileMgrPtr> __declspec(dllexport) CSmplMsrResultFileMgrList;
  75. }