SmplMsrResultFileClr.cpp 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. #include "stdafx.h"
  2. #include "SmplMsrResultFileClr.h"
  3. namespace OTSINTERFACE {
  4. CSmplMsrResultFileClr::CSmplMsrResultFileClr()
  5. {
  6. mResultFile =new CSmplMsrResultFilePtr( new CSmplMsrResultFile());
  7. }
  8. CSmplMsrResultFileClr::CSmplMsrResultFileClr(CSmplMsrResultFilePtr pSmpMsrResultFile)
  9. {
  10. mResultFile = new CSmplMsrResultFilePtr(pSmpMsrResultFile);
  11. }
  12. CSmplMsrResultFileClr::~CSmplMsrResultFileClr()
  13. {
  14. if(mResultFile!=nullptr)
  15. {
  16. delete mResultFile;
  17. mResultFile = NULL;
  18. }
  19. }
  20. CSmplMsrResultFileClr::!CSmplMsrResultFileClr()
  21. {
  22. if (mResultFile != nullptr)
  23. {
  24. delete mResultFile;
  25. mResultFile = NULL;
  26. }
  27. }
  28. CSmplMsrResultFilePtr CSmplMsrResultFileClr::GetCSmplMsrResultFilePtr()
  29. {
  30. return *mResultFile;
  31. }
  32. bool CSmplMsrResultFileClr::SetSEMStageData(CSEMStageDataClr^ a_pSEMStageData)
  33. {
  34. if (a_pSEMStageData == nullptr)
  35. {
  36. LogErrorTrace(__FILE__, __LINE__, _T("(SetSEMStageData) a_pSEMStageData = null"));
  37. return false;
  38. }
  39. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  40. pSmplMsrRetFile->SetSEMStageData(a_pSEMStageData->GetCSEMStageData());
  41. return true;
  42. }
  43. bool CSmplMsrResultFileClr::SetStage(CStageClr^ a_pStage)
  44. {
  45. if (a_pStage == nullptr)
  46. {
  47. LogErrorTrace(__FILE__, __LINE__, _T("(SetStage) a_pStage = null"));
  48. return false;
  49. }
  50. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  51. CStagePtr pStage = a_pStage->GetStagePtr();
  52. pSmplMsrRetFile->SetStage(pStage);
  53. return true;
  54. }
  55. bool CSmplMsrResultFileClr::SetSEMStage(CSEMDataGnrClr^ a_pSEMData)
  56. {
  57. if (a_pSEMData == nullptr)
  58. {
  59. LogErrorTrace(__FILE__, __LINE__, _T("(SetSEMStage) a_pSEMData = null"));
  60. return false;
  61. }
  62. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  63. CSEMDataGnrPtr pSEMDataGnr = a_pSEMData->GetCSEMDataGnrPtr();
  64. pSmplMsrRetFile->SetSEMStage(pSEMDataGnr);
  65. return true;
  66. }
  67. bool CSmplMsrResultFileClr::SetSample(COTSSampleClr^ a_pSample)
  68. {
  69. if (a_pSample == nullptr)
  70. {
  71. LogErrorTrace(__FILE__, __LINE__, _T("(SetSample) a_pSample = null"));
  72. return false;
  73. }
  74. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  75. COTSSamplePtr pSample = a_pSample->GetSamplePtr();
  76. pSmplMsrRetFile->SetSample(pSample);
  77. return true;
  78. }
  79. bool CSmplMsrResultFileClr::SetSwitch(bool a_bSwitch)
  80. {
  81. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  82. ASSERT(pSmplMsrRetFile);
  83. if (!pSmplMsrRetFile)
  84. {
  85. LogErrorTrace(__FILE__, __LINE__, _T("SetSwitch: can't get sample measure result file pointer."));
  86. return false;
  87. }
  88. pSmplMsrRetFile->SetSwitch(a_bSwitch);
  89. return true;
  90. }
  91. List<COTSFieldDataClr^>^ CSmplMsrResultFileClr::GetFieldData()
  92. {
  93. List<COTSFieldDataClr^>^ fds = gcnew List<COTSFieldDataClr^>();
  94. auto fields = mResultFile->get()->GetFieldData();
  95. for each (auto f in fields)
  96. {
  97. fds->Add(gcnew COTSFieldDataClr(f));
  98. }
  99. return fds;
  100. }
  101. bool CSmplMsrResultFileClr::SetFieldData(List<COTSFieldDataClr^>^ a_listFieldData)
  102. {
  103. if (a_listFieldData == nullptr)
  104. {
  105. LogErrorTrace(__FILE__, __LINE__, _T("(SetFieldData) a_listFieldData = null"));
  106. return false;
  107. }
  108. CSmplMsrResultFilePtr pSmplMsrRetFile = this->GetCSmplMsrResultFilePtr();
  109. std::vector<COTSFieldDataPtr> SMRFieldVec;
  110. SMRFieldVec.clear();
  111. for (int i = 0; i < a_listFieldData->Count; i++)
  112. {
  113. COTSFieldDataPtr pFieldData = a_listFieldData[i]->GetOTSFieldDataPtr();
  114. SMRFieldVec.push_back(pFieldData);
  115. }
  116. pSmplMsrRetFile->SetFieldData(SMRFieldVec);
  117. return true;
  118. }
  119. bool CSmplMsrResultFileClr::ReZoom(String^ a_strInPathName, String^ a_strOutPathName)
  120. {
  121. bool nRes = COTSImageProcess::ReZoom(a_strInPathName, a_strOutPathName);
  122. return nRes;
  123. }
  124. }