OTSProgMgrCLR.cpp 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. #include "stdafx.h"
  2. #include "OTSProgMgrCLR.h"
  3. #include "DlgProgMgrInfo.h"
  4. namespace OTSINTERFACE {
  5. COTSProgMgrCLR::COTSProgMgrCLR()
  6. {
  7. m_LpRealProgMgr = new COTSProgMgrPtr(new COTSProgMgr());
  8. }
  9. COTSProgMgrCLR::COTSProgMgrCLR(COTSProgMgr* a_pProgMgr)
  10. {
  11. ASSERT(a_pProgMgr);
  12. if (!a_pProgMgr)
  13. {
  14. LogErrorTrace(__FILE__, __LINE__, _T("COTSProgMgrCLR: Generate ProgMgr pointer failed."));
  15. return;
  16. }
  17. m_LpRealProgMgr = new COTSProgMgrPtr(new COTSProgMgr());
  18. }
  19. COTSProgMgrCLR::COTSProgMgrCLR(COTSProgMgrPtr a_pProgMgr)
  20. {
  21. ASSERT(a_pProgMgr);
  22. if (!a_pProgMgr)
  23. {
  24. LogErrorTrace(__FILE__, __LINE__, _T("COTSProgMgrCLR: invalid pointer"));
  25. return;
  26. }
  27. m_LpRealProgMgr = new COTSProgMgrPtr(a_pProgMgr);
  28. }
  29. COTSProgMgrCLR::!COTSProgMgrCLR()
  30. {
  31. if (m_LpRealProgMgr != nullptr)
  32. {
  33. delete m_LpRealProgMgr;
  34. m_LpRealProgMgr = nullptr;
  35. }
  36. }
  37. COTSProgMgrCLR::~COTSProgMgrCLR()
  38. {
  39. if (m_LpRealProgMgr != nullptr)
  40. {
  41. delete m_LpRealProgMgr;
  42. m_LpRealProgMgr = nullptr;
  43. }
  44. }
  45. COTSProgMgrPtr COTSProgMgrCLR::GetCOTSProgMgrPtr()
  46. {
  47. return *m_LpRealProgMgr;
  48. }
  49. // Read project manager information from project manager file
  50. COTSProgMgrParamFileClr^ COTSProgMgrCLR::LoadInfoFromProgMgrFile(int a_nPackId)
  51. {
  52. COTSProgMgrParamFilePtr pProgMgrParamFile = COTSProgMgr::LoadInfoFromProgMgrFile((OTS_SOFT_PACKAGE_ID)a_nPackId);
  53. ASSERT(pProgMgrParamFile);
  54. if (!pProgMgrParamFile)
  55. {
  56. LogErrorTrace(__FILE__, __LINE__, _T("LoadInfoFromProgMgrFile: invalid pointer."));
  57. return nullptr;
  58. }
  59. COTSProgMgrParamFileClr^ pProgMgrParamFileClr = gcnew COTSProgMgrParamFileClr(pProgMgrParamFile);
  60. return pProgMgrParamFileClr;
  61. }
  62. // Save project manager information to project manager file
  63. bool COTSProgMgrCLR::SaveInfoToProgMgrFile(int a_nPackId,
  64. CSEMStageDataClr^ a_pStageData,
  65. CGenParamClr^ a_pGenParam,
  66. COTSImgScanPrmClr^ a_pImageScanParam,
  67. COTSImgProcPrmClr^ a_pImageProcParam,
  68. COTSXRayPrmClr^ a_pXRayParam)
  69. {
  70. ASSERT(a_pStageData);
  71. if (!a_pStageData)
  72. {
  73. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid stage data pointer."));
  74. return false;
  75. }
  76. CSEMStageDataPtr pSEMStageData = a_pStageData->GetCSEMStageData();
  77. ASSERT(pSEMStageData);
  78. if (!pSEMStageData)
  79. {
  80. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid stage data pointer."));
  81. return false;
  82. }
  83. ASSERT(a_pGenParam);
  84. if (!a_pGenParam)
  85. {
  86. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid general param pointer."));
  87. return false;
  88. }
  89. COTSGeneralParametersPtr pGenParam = a_pGenParam->GetCOTSGeneralParametersPtr();
  90. ASSERT(pGenParam);
  91. if (!pGenParam)
  92. {
  93. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid general param pointer."));
  94. return false;
  95. }
  96. ASSERT(a_pImageScanParam);
  97. if (!a_pImageScanParam)
  98. {
  99. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid image scan param pointer."));
  100. return false;
  101. }
  102. COTSImageScanParamPtr pImageScanParam = a_pImageScanParam->GetImgScanPrmPtr();
  103. ASSERT(pImageScanParam);
  104. if (!pImageScanParam)
  105. {
  106. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid image scan param pointer."));
  107. return false;
  108. }
  109. ASSERT(a_pImageProcParam);
  110. if (!a_pImageProcParam)
  111. {
  112. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid image process param pointer."));
  113. return false;
  114. }
  115. COTSImageProcessParamPtr pImageProcParam = a_pImageProcParam->GetImgPrcPrmPtr();
  116. ASSERT(pImageProcParam);
  117. if (!pImageProcParam)
  118. {
  119. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid image process param pointer."));
  120. return false;
  121. }
  122. ASSERT(a_pXRayParam);
  123. if (!a_pXRayParam)
  124. {
  125. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid x ray param pointer."));
  126. return false;
  127. }
  128. COTSXRayParamPtr pXRayParam = a_pXRayParam->GetCOTSXRayPrmPtr();
  129. ASSERT(pXRayParam);
  130. if (!pXRayParam)
  131. {
  132. LogErrorTrace(__FILE__, __LINE__, _T("SaveInfoToProgMgrFile: invalid x ray param pointer."));
  133. return false;
  134. }
  135. bool bRet = COTSProgMgr::SaveInfoToProgMgrFile((OTS_SOFT_PACKAGE_ID)a_nPackId, pSEMStageData, pGenParam, pImageScanParam, pImageProcParam, pXRayParam);
  136. return bRet;
  137. }
  138. // Get stop mode id
  139. String^ COTSProgMgrCLR::GetStopModeIdString(int a_nStopMode)
  140. {
  141. CString str = COTSProgMgr::GetStopModeIdString(( OTSMODEL::OTS_MEASURE_STOP_MODE)a_nStopMode);
  142. String^ strClr = gcnew String(str);
  143. return strClr;
  144. }
  145. // get scan speed
  146. String^ COTSProgMgrCLR::GetScanSpeedString(int a_nScanSpeed)
  147. {
  148. CString str = COTSProgMgr::GetScanSpeedString(( OTSMODEL::OTS_THREE_TIES_OPTIONS)a_nScanSpeed);
  149. String^ strClr = gcnew String(str);
  150. return strClr;
  151. }
  152. // get image size id
  153. String^ COTSProgMgrCLR::GetImageSizeIdString(int a_nImageSize)
  154. {
  155. CString str = COTSProgMgr::GetImageSizeIdString(( OTSMODEL::OTS_FIVE_TIES_OPTIONS)a_nImageSize);
  156. String^ strClr = gcnew String(str);
  157. return strClr;
  158. }
  159. // get image mode id
  160. String^ COTSProgMgrCLR::GetGetImageIdString(int a_nGetImageMode)
  161. {
  162. CString str = COTSProgMgr::GetGetImageIdString(( OTSMODEL::OTS_GET_IMAGE_MODE)a_nGetImageMode);
  163. String^ strClr = gcnew String(str);
  164. return strClr;
  165. }
  166. // get XRay analysis speed id
  167. String^ COTSProgMgrCLR::GetXRayAnalySpeedIdString(int a_nXRayAnalySpeed)
  168. {
  169. CString str = COTSProgMgr::GetXRayAnalySpeedIdString(( OTSMODEL::OTS_THREE_TIES_OPTIONS)a_nXRayAnalySpeed);
  170. String^ strClr = gcnew String(str);
  171. return strClr;
  172. }
  173. // get XRay scan mode id
  174. String^ COTSProgMgrCLR::GetXRayScanModeIdString(int a_nXRayScanMode)
  175. {
  176. CString str = COTSProgMgr::GetXRayScanModeIdString(( OTSMODEL::OTS_X_RAY_SCAN_MODE)a_nXRayScanMode);
  177. String^ strClr = gcnew String(str);
  178. return strClr;
  179. }
  180. // get XRay search speed id
  181. String^ COTSProgMgrCLR::GetXRaySearchSpeedIdString(int a_nXRaySearchSpeed)
  182. {
  183. CString str = COTSProgMgr::GetXRaySearchSpeedIdString(( OTSMODEL::OTS_THREE_TIES_OPTIONS)a_nXRaySearchSpeed);
  184. String^ strClr = gcnew String(str);
  185. return strClr;
  186. }
  187. // get XAxis direction id
  188. String^ COTSProgMgrCLR::GetXAxisDirectionIdString(int a_nXAxisDirection)
  189. {
  190. CString str = COTSProgMgr::GetXAxisDirectionIdString(( OTSMODEL::OTS_X_AXIS_DIRECTION)a_nXAxisDirection);
  191. String^ strClr = gcnew String(str);
  192. return strClr;
  193. }
  194. // get YAxis direction id
  195. String^ COTSProgMgrCLR::GetYAxisDirectionIdString(int a_nYAxisDirection)
  196. {
  197. CString str = COTSProgMgr::GetYAxisDirectionIdString(( OTSMODEL::OTS_Y_AXIS_DIRECTION)a_nYAxisDirection);
  198. String^ strClr = gcnew String(str);
  199. return strClr;
  200. }
  201. String ^ COTSProgMgrCLR::GetSteelTechIdString(int a_nSteelTech)
  202. {
  203. CString str = COTSProgMgr::GetSteelTechIdString((OTSMODEL::STEEL_TECHNOLOGY)a_nSteelTech);
  204. String^ strClr = gcnew String(str);
  205. return strClr;
  206. }
  207. // get measure area shape
  208. String^ COTSProgMgrCLR::GetAreaShapeString(int a_nShape)
  209. {
  210. CString str = COTSProgMgr::GetAreaShapeString((OTSDATA::DOMAIN_SHAPE)a_nShape);
  211. String^ strClr = gcnew String(str);
  212. return strClr;
  213. }
  214. }