#include "stdafx.h" #include "SEMDataMsrClr.h" #include "otsdataconst.h" #include namespace OTSCLRINTERFACE { CSEMDataMsrClr::CSEMDataMsrClr() // constructor { m_LpSEMDataMsr = new CSEMDataMsrPtr(new CSEMDataMsr()); } CSEMDataMsrClr::CSEMDataMsrClr(CSEMDataMsr* a_pSEMDataMsr) { ASSERT(a_pSEMDataMsr); if (!a_pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("CSEMDataMsrClr: invalid pointer.")); return; } m_LpSEMDataMsr = new CSEMDataMsrPtr(new CSEMDataMsr(a_pSEMDataMsr)); } CSEMDataMsrClr::CSEMDataMsrClr(CSEMDataMsrPtr pSEMDataMsr) // copy constructor { ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("CSEMDataMsrClr: invalid pointer.")); return; } m_LpSEMDataMsr = new CSEMDataMsrPtr(pSEMDataMsr); } CSEMDataMsrClr::!CSEMDataMsrClr() { if (m_LpSEMDataMsr != nullptr) { delete m_LpSEMDataMsr; m_LpSEMDataMsr = nullptr; } } CSEMDataMsrClr::~CSEMDataMsrClr() { if (m_LpSEMDataMsr != nullptr) { delete m_LpSEMDataMsr; m_LpSEMDataMsr = nullptr; } } CSEMDataMsrPtr CSEMDataMsrClr::GetSEMDataMsrPtr() { return *m_LpSEMDataMsr; } int CSEMDataMsrClr::GetScanFieldSize() { if (m_LpSEMDataMsr == nullptr) { LogErrorTrace(__FILE__, __LINE__, _T("GetScanFieldSize:invalid pointer.")); return -1; } CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("GetScanFieldSize:invalid pointer.")); return -1; } return pSEMDataMsr->GetScanFieldSize(); } bool CSEMDataMsrClr::SetScanFieldSize(int a_nScanFieldSize) { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetScanFieldSize: can't get pointer.")); return false; } pSEMDataMsr->SetScanFieldSize(a_nScanFieldSize); return true; } // Get magnification double CSEMDataMsrClr::GetMagnification() { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetScanFieldSize: can't get pointer.")); return -1; } double fMagnification = pSEMDataMsr->GetMagnification(); return fMagnification; } bool CSEMDataMsrClr::SetMagnification(double a_dMag) { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetMagnification: can't get pointer.")); return false; } pSEMDataMsr->SetMagnification(a_dMag); return true; } // scan field size 100 (micros) int CSEMDataMsrClr::GetScanFieldSize100() { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("GetScanFieldSize100: can't get pointer.")); return false; } return pSEMDataMsr->GetScanFieldSize100(); } bool CSEMDataMsrClr::SetScanFieldSize100(int a_nScanFieldSize100) { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetScanFieldSize100: can't get pointer.")); return false; } pSEMDataMsr->SetScanFieldSize100(a_nScanFieldSize100); return true; } // working distance double CSEMDataMsrClr::GetWorkingDistance() { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("GetWorkingDistance: can't get pointer.")); return -1; } double dWorkingDistance = pSEMDataMsr->GetWorkingDistance(); return dWorkingDistance; } bool CSEMDataMsrClr::SetWorkingDistance(double a_dWorkingDistance) { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetWorkingDistance: can't get pointer.")); return false; } pSEMDataMsr->SetWorkingDistance(a_dWorkingDistance); return true; } // total fields int CSEMDataMsrClr::GetTotalFields() { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("GetTotalFields: can't get pointer.")); return false; } return pSEMDataMsr->GetTotalFields(); } bool CSEMDataMsrClr::SetTotalFields(int a_nTotalFields) { CSEMDataMsrPtr pSEMDataMsr = GetSEMDataMsrPtr(); ASSERT(pSEMDataMsr); if (!pSEMDataMsr) { LogErrorTrace(__FILE__, __LINE__, _T("SetTotalFields: can't get pointer.")); return false; } pSEMDataMsr->SetTotalFields(a_nTotalFields); return true; } }