#include "stdafx.h" #include "OTSImgProcPrmClr.h" #include "../OTSLog/COTSUtilityDllFunExport.h" namespace OTSCLRINTERFACE { using namespace OTSCLRINTERFACE; COTSImgProcPrmClr::COTSImgProcPrmClr() { m_LpImgProParam = new COTSImageProcessParamPtr(new COTSImageProcessParam()); } COTSImgProcPrmClr::COTSImgProcPrmClr(COTSImageProcessParam* a_pImgProParam) // copy constructor { ASSERT(a_pImgProParam); if (!a_pImgProParam) { LogErrorTrace(__FILE__, __LINE__, _T("CGenParamClr: Generate GenParam pointer failed.")); return; } m_LpImgProParam = new COTSImageProcessParamPtr(new COTSImageProcessParam(a_pImgProParam)); } COTSImgProcPrmClr::COTSImgProcPrmClr(COTSImageProcessParamPtr a_pImgProParam) // copy constructor { ASSERT(a_pImgProParam); if (!a_pImgProParam) { LogErrorTrace(__FILE__, __LINE__, _T("CGenParamClr: invalid pointer")); return; } m_LpImgProParam = new COTSImageProcessParamPtr(a_pImgProParam); } COTSImgProcPrmClr::!COTSImgProcPrmClr() { if (m_LpImgProParam != nullptr) { delete m_LpImgProParam; m_LpImgProParam = nullptr; } } COTSImgProcPrmClr::~COTSImgProcPrmClr() { if (m_LpImgProParam != nullptr) { delete m_LpImgProParam; m_LpImgProParam = nullptr; } } COTSImageProcessParamPtr COTSImgProcPrmClr::GetImgPrcPrmPtr() { return *m_LpImgProParam; } CDoubleRangeClr^ COTSImgProcPrmClr::GetIncArea() { auto pGray = m_LpImgProParam->get()->GetIncArea(); CDoubleRange* gray = new CDoubleRange(pGray); CDoubleRangeClr^ doubleRan = gcnew CDoubleRangeClr(gray->GetStart(),gray->GetEnd()); return doubleRan; } void COTSImgProcPrmClr::SetIncArea(CDoubleRangeClr^ a_oVal) { m_LpImgProParam->get()->SetIncArea(CDoubleRange(a_oVal->GetStart(),a_oVal->GetEnd())); } CIntRangeClr^ COTSImgProcPrmClr::GetBGGray() { auto pGray = m_LpImgProParam->get()->GetBGGray(); CIntRange* gray = new CIntRange(pGray); CIntRangeClr^ intRan = gcnew CIntRangeClr(gray->GetStart(),gray->GetEnd()); return intRan; } void COTSImgProcPrmClr::SetBGGray(CIntRangeClr^ a_oVal) { ASSERT(a_oVal); if (!a_oVal) { LogErrorTrace(__FILE__, __LINE__, _T("SetBGGray: invalid data.")); return; } if (m_LpImgProParam != nullptr) { CIntRange pSetBGGray = CIntRange(a_oVal->GetStart(), a_oVal->GetEnd()); m_LpImgProParam->get()->SetBGGray(pSetBGGray); } } CIntRangeClr^ COTSImgProcPrmClr::GetParticleGray() { auto pGray= m_LpImgProParam->get()->GetParticleGray(); CIntRange* gray =new CIntRange(pGray); CIntRangeClr^ intRan = gcnew CIntRangeClr(gray->GetStart(),gray->GetEnd()); return intRan; } void COTSImgProcPrmClr::SetParticleGray(CIntRangeClr^ a_oVal) { m_LpImgProParam->get()->SetParticleGray(CIntRange(a_oVal->GetStart(),a_oVal->GetEnd())); } int COTSImgProcPrmClr::GetBGRemoveType() { auto pGray = m_LpImgProParam->get()->GetBGRemoveType(); return (int)pGray; } void COTSImgProcPrmClr::SetBGRemoveType(int a_oVal) { m_LpImgProParam->get()->SetBGRemoveType(a_oVal); } int COTSImgProcPrmClr::GetAutoBGRemoveType() { auto pGray = m_LpImgProParam->get()->GetAutoBGRemoveType(); return (int)pGray; } void COTSImgProcPrmClr::SetAutoBGRemoveType(int a_oVal) { m_LpImgProParam->get()->SetAutoBGRemoveType(a_oVal); } /*int COTSImgProcPrmClr::GetErrodDilateParam() { return m_LpImgProParam->get()->GetErrodDilateParam(); } void COTSImgProcPrmClr::SetErrodDilateParam(int a_val) { m_LpImgProParam->get()->SetErrodDilateParam(a_val); }*/ int COTSImgProcPrmClr::GetOverlapParam() { return m_LpImgProParam->get()->GetOverlapParam(); } void COTSImgProcPrmClr::SetOverlapParam(int a_val) { m_LpImgProParam->get()->SetOverlapParam(a_val); } double COTSImgProcPrmClr::GetMatrixStep() { return m_LpImgProParam->get()->GetXrayStep(); } void COTSImgProcPrmClr::SetMatrixStep(double a_val) { m_LpImgProParam->get()->SetXrayStep(a_val); } }