OTSImgProcPrmClr.cpp 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. #include "stdafx.h"
  2. #include "OTSImgProcPrmClr.h"
  3. #include "../OTSLog/COTSUtilityDllFunExport.h"
  4. namespace OTSCLRINTERFACE {
  5. using namespace OTSCLRINTERFACE;
  6. COTSImgProcPrmClr::COTSImgProcPrmClr()
  7. {
  8. m_LpImgProParam = new COTSImageProcessParamPtr(new COTSImageProcessParam());
  9. }
  10. COTSImgProcPrmClr::COTSImgProcPrmClr(COTSImageProcessParam* a_pImgProParam) // copy constructor
  11. {
  12. ASSERT(a_pImgProParam);
  13. if (!a_pImgProParam)
  14. {
  15. LogErrorTrace(__FILE__, __LINE__, _T("CGenParamClr: Generate GenParam pointer failed."));
  16. return;
  17. }
  18. m_LpImgProParam = new COTSImageProcessParamPtr(new COTSImageProcessParam(a_pImgProParam));
  19. }
  20. COTSImgProcPrmClr::COTSImgProcPrmClr(COTSImageProcessParamPtr a_pImgProParam) // copy constructor
  21. {
  22. ASSERT(a_pImgProParam);
  23. if (!a_pImgProParam)
  24. {
  25. LogErrorTrace(__FILE__, __LINE__, _T("CGenParamClr: invalid pointer"));
  26. return;
  27. }
  28. m_LpImgProParam = new COTSImageProcessParamPtr(a_pImgProParam);
  29. }
  30. COTSImgProcPrmClr::!COTSImgProcPrmClr()
  31. {
  32. if (m_LpImgProParam != nullptr)
  33. {
  34. delete m_LpImgProParam;
  35. m_LpImgProParam = nullptr;
  36. }
  37. }
  38. COTSImgProcPrmClr::~COTSImgProcPrmClr()
  39. {
  40. if (m_LpImgProParam != nullptr)
  41. {
  42. delete m_LpImgProParam;
  43. m_LpImgProParam = nullptr;
  44. }
  45. }
  46. COTSImageProcessParamPtr COTSImgProcPrmClr::GetImgPrcPrmPtr()
  47. {
  48. return *m_LpImgProParam;
  49. }
  50. CDoubleRangeClr^ COTSImgProcPrmClr::GetIncArea()
  51. {
  52. auto pGray = m_LpImgProParam->get()->GetIncArea();
  53. CDoubleRange* gray = new CDoubleRange(pGray);
  54. CDoubleRangeClr^ doubleRan = gcnew CDoubleRangeClr(gray->GetStart(),gray->GetEnd());
  55. return doubleRan;
  56. }
  57. void COTSImgProcPrmClr::SetIncArea(CDoubleRangeClr^ a_oVal)
  58. {
  59. m_LpImgProParam->get()->SetIncArea(CDoubleRange(a_oVal->GetStart(),a_oVal->GetEnd()));
  60. }
  61. CIntRangeClr^ COTSImgProcPrmClr::GetBGGray()
  62. {
  63. auto pGray = m_LpImgProParam->get()->GetBGGray();
  64. CIntRange* gray = new CIntRange(pGray);
  65. CIntRangeClr^ intRan = gcnew CIntRangeClr(gray->GetStart(),gray->GetEnd());
  66. return intRan;
  67. }
  68. void COTSImgProcPrmClr::SetBGGray(CIntRangeClr^ a_oVal)
  69. {
  70. ASSERT(a_oVal);
  71. if (!a_oVal)
  72. {
  73. LogErrorTrace(__FILE__, __LINE__, _T("SetBGGray: invalid data."));
  74. return;
  75. }
  76. if (m_LpImgProParam != nullptr)
  77. {
  78. CIntRange pSetBGGray = CIntRange(a_oVal->GetStart(), a_oVal->GetEnd());
  79. m_LpImgProParam->get()->SetBGGray(pSetBGGray);
  80. }
  81. }
  82. CIntRangeClr^ COTSImgProcPrmClr::GetParticleGray()
  83. {
  84. auto pGray= m_LpImgProParam->get()->GetParticleGray();
  85. CIntRange* gray =new CIntRange(pGray);
  86. CIntRangeClr^ intRan = gcnew CIntRangeClr(gray->GetStart(),gray->GetEnd());
  87. return intRan;
  88. }
  89. void COTSImgProcPrmClr::SetParticleGray(CIntRangeClr^ a_oVal)
  90. {
  91. m_LpImgProParam->get()->SetParticleGray(CIntRange(a_oVal->GetStart(),a_oVal->GetEnd()));
  92. }
  93. int COTSImgProcPrmClr::GetBGRemoveType()
  94. {
  95. auto pGray = m_LpImgProParam->get()->GetBGRemoveType();
  96. return (int)pGray;
  97. }
  98. void COTSImgProcPrmClr::SetBGRemoveType(int a_oVal)
  99. {
  100. m_LpImgProParam->get()->SetBGRemoveType(a_oVal);
  101. }
  102. int COTSImgProcPrmClr::GetAutoBGRemoveType()
  103. {
  104. auto pGray = m_LpImgProParam->get()->GetAutoBGRemoveType();
  105. return (int)pGray;
  106. }
  107. void COTSImgProcPrmClr::SetAutoBGRemoveType(int a_oVal)
  108. {
  109. m_LpImgProParam->get()->SetAutoBGRemoveType(a_oVal);
  110. }
  111. /*int COTSImgProcPrmClr::GetErrodDilateParam()
  112. {
  113. return m_LpImgProParam->get()->GetErrodDilateParam();
  114. }
  115. void COTSImgProcPrmClr::SetErrodDilateParam(int a_val)
  116. {
  117. m_LpImgProParam->get()->SetErrodDilateParam(a_val);
  118. }*/
  119. int COTSImgProcPrmClr::GetOverlapParam()
  120. {
  121. return m_LpImgProParam->get()->GetOverlapParam();
  122. }
  123. void COTSImgProcPrmClr::SetOverlapParam(int a_val)
  124. {
  125. m_LpImgProParam->get()->SetOverlapParam(a_val);
  126. }
  127. double COTSImgProcPrmClr::GetMatrixStep()
  128. {
  129. return m_LpImgProParam->get()->GetXrayStep();
  130. }
  131. void COTSImgProcPrmClr::SetMatrixStep(double a_val)
  132. {
  133. m_LpImgProParam->get()->SetXrayStep(a_val);
  134. }
  135. }