#include "stdafx.h" #include "PartSizeItemClr.h" namespace OTSINTERFACE { CPartSizeItemClr::CPartSizeItemClr() { m_LpPartSizeItem = new CPartSizeItemPtr(new CPartSizeItem()); } CPartSizeItemClr::CPartSizeItemClr(CPartSizeItemPtr a_pPartSizeItem) // copy constructor { ASSERT(a_pPartSizeItem); if (!a_pPartSizeItem) { return; } m_LpPartSizeItem = new CPartSizeItemPtr(a_pPartSizeItem); } CPartSizeItemClr::!CPartSizeItemClr() { if (m_LpPartSizeItem != nullptr) { delete m_LpPartSizeItem; m_LpPartSizeItem = nullptr; } } CPartSizeItemClr::~CPartSizeItemClr() { if (m_LpPartSizeItem != nullptr) { delete m_LpPartSizeItem; m_LpPartSizeItem = nullptr; } } CPartSizeItemPtr CPartSizeItemClr::GetCPartSizeItemPtr() { return *m_LpPartSizeItem; } String^ CPartSizeItemClr::GetName() { if (m_LpPartSizeItem == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetName: current CLR point is invalid.")); return nullptr; } CPartSizeItemPtr pPartSizeItem = GetCPartSizeItemPtr(); ASSERT(pPartSizeItem); if (!pPartSizeItem) { LogErrorTrace(__FILE__, __LINE__, _T("GetName:invalid pointer.")); return nullptr; } CString sPartSize = pPartSizeItem->GetName(); String^ sPartSizeClr = gcnew String(sPartSize); return sPartSizeClr; } void CPartSizeItemClr::SetName(String^ a_strName) { if (m_LpPartSizeItem == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetName: current CLR point is invalid.")); return; } CPartSizeItemPtr pPartSizeItem = GetCPartSizeItemPtr(); ASSERT(pPartSizeItem); if (!pPartSizeItem) { LogErrorTrace(__FILE__, __LINE__, _T("SetName:invalid pointer.")); return; } ASSERT(a_strName); if (!a_strName) { LogErrorTrace(__FILE__, __LINE__, _T("SetName:invalid pointer.")); return; } pPartSizeItem->SetName(a_strName); } CDoubleRangeClr^ CPartSizeItemClr::GetSizeLevel() { if (m_LpPartSizeItem == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetSizeLevel: current CLR point is invalid.")); return nullptr; } CPartSizeItemPtr pPartSizeItem = GetCPartSizeItemPtr(); ASSERT(pPartSizeItem); if (!pPartSizeItem) { LogErrorTrace(__FILE__, __LINE__, _T("GetSizeLevel:invalid pointer.")); return nullptr; } CDoubleRangePtr sPartSize = pPartSizeItem->GetSizeLevel(); CDoubleRangeClr^ sPartSizeClr = gcnew CDoubleRangeClr(sPartSize); return sPartSizeClr; } void CPartSizeItemClr::SetSizeLevel(CDoubleRangeClr^ a_poSizeLevel) { if (m_LpPartSizeItem == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("SetSizeLevel: current CLR point is invalid.")); return; } CPartSizeItemPtr pPartSizeItem = GetCPartSizeItemPtr(); ASSERT(pPartSizeItem); if (!pPartSizeItem) { LogErrorTrace(__FILE__, __LINE__, _T("SetSizeLevel:invalid pointer.")); return; } ASSERT(a_poSizeLevel); if (!a_poSizeLevel) { LogErrorTrace(__FILE__, __LINE__, _T("SetSizeLevel:invalid pointer.")); return; } CDoubleRangePtr sPartSize = a_poSizeLevel->GetCDoubleRangePtr(); pPartSizeItem->SetSizeLevel(sPartSize); } }