SmplMsrResultFileMgr.h 2.6 KB

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