OTSFieldMgr.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #pragma once
  2. #include "afx.h"
  3. #include "OTSFieldData.h"
  4. #include "OTSImageProcessParam.h"
  5. #include "PosXray.h"
  6. #include "MsrResults.h"
  7. #include "MsrSampleStatus.h"
  8. #include "IncAFileMgr.h"
  9. namespace OTSMODEL {
  10. class __declspec(dllexport) COTSFieldMgr
  11. {
  12. public:
  13. COTSFieldMgr();
  14. virtual ~COTSFieldMgr();
  15. // init
  16. BOOL Init(COTSFieldDataPtr a_pFieldData, CBSEImgPtr a_pBSEImg);
  17. COTSFieldDataPtr GetOTSFieldData() { return m_pFieldData; }
  18. void SetOTSFieldData(COTSFieldDataPtr a_pOTSFieldData);
  19. // BSE image
  20. CBSEImgPtr GetBSEImage() { return m_pBSEImg; }
  21. void SetBSEImage(CBSEImgPtr a_pBSEImg);
  22. void SetMsrStatus(CMsrSampleStatusPtr s) { m_pMsrStatus = s; }
  23. CMsrSampleStatusPtr GetMsrStatus() { return m_pMsrStatus; }
  24. // searching x ray list
  25. CPosXrayList GetSearchPosXrayList() { return m_listSearchPosXray; }
  26. // analysis x ray list
  27. CPosXrayList GetAnalysisPosXrayList() { return m_listAnalysisPosXray; }
  28. void SetAnalysisPosXayList(CPosXrayList& a_listPosXray, BOOL a_bClear = TRUE);
  29. CMsrResultsPtr GetMsrResult() { return m_pMsrResults; }
  30. void SetMsrResult(CMsrResultsPtr a_pMsrResults);
  31. CPosXrayList GetFastCompareXrayList() const { return m_listFastCompareXray; }
  32. void SetFastCompareXrayList(CPosXrayList val) { m_listFastCompareXray = val; }
  33. COTSParticleList GetBigParticlesList() const { return m_listBigParticles; }
  34. void SetBigParticlesList(COTSParticleList val) { m_listBigParticles = val; }
  35. COTSParticleList GetSmallParticlesList() const { return m_listSmallParticles; }
  36. void SetSmallParticlesList(COTSParticleList val, double percentageOfWhole)
  37. {
  38. m_listSmallParticles = val;
  39. m_smallParticlePercentage = percentageOfWhole;
  40. }
  41. protected:
  42. // field data
  43. COTSFieldDataPtr m_pFieldData;
  44. // BSE image
  45. CBSEImgPtr m_pBSEImg;
  46. // searching x ray list
  47. CPosXrayList m_listSearchPosXray;
  48. // analysis x ray list
  49. CPosXrayList m_listAnalysisPosXray;
  50. // fast compare analysis x ray list
  51. CPosXrayList m_listFastCompareXray;
  52. COTSParticleList m_listBigParticles;
  53. COTSParticleList m_listSmallParticles;
  54. // sample result
  55. CMsrResultsPtr m_pMsrResults;
  56. CMsrSampleStatusPtr m_pMsrStatus;
  57. BOOL GetIncAParticleList(COTSParticleList & a_listParticleOut);
  58. // get inclusion particle
  59. double m_smallParticlePercentage;//if the small particles are measured for a percentage of the whole,then this variable remember the percentage.
  60. };
  61. typedef std::shared_ptr<COTSFieldMgr> __declspec(dllexport) COTSFieldMgrPtr;
  62. typedef std::vector<COTSFieldMgrPtr> __declspec(dllexport) COTSFieldMgrList;
  63. }