#include "stdafx.h" #include "OTSReportProjFileClr.h" namespace OTSINTERFACE { COTSReportProjFileClr::COTSReportProjFileClr() { m_LpReportFile = new CReportProjFilePtr(new CReportProjFile()); } COTSReportProjFileClr::COTSReportProjFileClr(CReportProjFilePtr a_pReportProjFile) { ASSERT(a_pReportProjFile); if (!a_pReportProjFile) { LogErrorTrace(__FILE__, __LINE__, _T("COTSReportProjFileClr: Invalid report project file pointer.")); return; } m_LpReportFile = new CReportProjFilePtr(a_pReportProjFile); } COTSReportProjFileClr::~COTSReportProjFileClr() { if (m_LpReportFile != nullptr) { delete m_LpReportFile; m_LpReportFile = nullptr; } } COTSReportProjFileClr::!COTSReportProjFileClr() { if (m_LpReportFile != nullptr) { delete m_LpReportFile; m_LpReportFile = nullptr; } } CReportProjFilePtr COTSReportProjFileClr::GetReportProjFilePtr() { return *m_LpReportFile; } // version string String^ COTSReportProjFileClr::GetFileVersion() { String^ FileVersionClr; if (m_LpReportFile != nullptr) { CString sFileVersion = m_LpReportFile->get()->GetFileVersion(); FileVersionClr = gcnew String(sFileVersion); } return FileVersionClr; } void COTSReportProjFileClr::SetFileVersion(String^ strVersion) { ASSERT(strVersion); if (!strVersion) { LogErrorTrace(__FILE__, __LINE__, _T("SetFileVersion: invalid version.")); } if (m_LpReportFile != nullptr) { m_LpReportFile->get()->SetFileVersion(strVersion); } } CPartSTDDataClr^ COTSReportProjFileClr::GetPartSTDData() { CPartSTDDataClr^ PartSTDDataClr; if (m_LpReportFile != nullptr) { CPartSTDDataPtr pPartSTDData = m_LpReportFile->get()->GetPartSTDData(); ASSERT(pPartSTDData); if (!pPartSTDData) { LogErrorTrace(__FILE__, __LINE__, _T("COTSReportProjFileClr: invalid partSTDData pointer.")); return PartSTDDataClr; } PartSTDDataClr = gcnew CPartSTDDataClr(pPartSTDData); } return PartSTDDataClr; } void COTSReportProjFileClr::SetPartSTDData(CPartSTDDataClr^ a_pPartSTDData) { ASSERT(a_pPartSTDData); if (!a_pPartSTDData) { LogErrorTrace(__FILE__, __LINE__, _T("SetPartSTDData: invalid part std data.")); return; } if (m_LpReportFile != nullptr) { CPartSTDDataPtr pPartSTDData = a_pPartSTDData->GetPartSTDDataPtr(); ASSERT(pPartSTDData); if (!pPartSTDData) { LogErrorTrace(__FILE__, __LINE__, _T("SetPartSTDData: invalid part STD data pointer.")); return; } m_LpReportFile->get()->SetPartSTDData(pPartSTDData); } } // triangle template file CTriTempFileClr^ COTSReportProjFileClr::GetTriTemp() { CTriTempFileClr^ TriTempFileClr; if (m_LpReportFile != nullptr) { CTriTempFilePtr pTriTempFile = m_LpReportFile->get()->GetTriTemp(); ASSERT(pTriTempFile); if (!pTriTempFile) { LogErrorTrace(__FILE__, __LINE__, _T("GetTriTemp: invalid TriTemp pointer.")); return TriTempFileClr; } TriTempFileClr = gcnew CTriTempFileClr(pTriTempFile); } return TriTempFileClr; } void COTSReportProjFileClr::SetTriTemp(CTriTempFileClr^ a_pTriTemp) { ASSERT(a_pTriTemp); if (!a_pTriTemp) { LogErrorTrace(__FILE__, __LINE__, _T("SetTriTempFile: invalid part Size data.")); return; } if (m_LpReportFile != nullptr) { CTriTempFilePtr pTriTempFile = a_pTriTemp->GetTriTempFilePtr(); ASSERT(pTriTempFile); if (!pTriTempFile) { LogErrorTrace(__FILE__, __LINE__, _T("SetTriTemp: invalid TriTemp data pointer.")); return; } m_LpReportFile->get()->SetTriTemp(pTriTempFile); } } // scaling factor double COTSReportProjFileClr::GetScale() { double dScale = 0.0; if (m_LpReportFile != nullptr) { dScale = m_LpReportFile->get()->GetScale(); } return dScale; } void COTSReportProjFileClr::SetScale(double a_dScale) { if (m_LpReportFile != nullptr) { m_LpReportFile->get()->SetScale(a_dScale); } } // sample measure result file pathname strings List^ COTSReportProjFileClr::GetSmplMsrResultFilePathNames() { List^ SmplMsrResultFilePathNamesClr = gcnew List(); if (m_LpReportFile != nullptr) { std::vector listSmplMsrResultFilePathNames = m_LpReportFile->get()->GetSmplMsrResultFilePathNames(); for (auto sPathName : listSmplMsrResultFilePathNames) { String^ PathNameClr = gcnew String(sPathName); SmplMsrResultFilePathNamesClr->Add(PathNameClr); } } return SmplMsrResultFilePathNamesClr; } void COTSReportProjFileClr::SetSmplMsrResultFilePathNames(List^ a_listSmplMsrResultFilePathNames) { ASSERT(a_listSmplMsrResultFilePathNames); if (!a_listSmplMsrResultFilePathNames) { LogErrorTrace(__FILE__, __LINE__, _T("SetSmplMsrResultFilePathNames: invalid PathNames data.")); return; } if (m_LpReportFile != nullptr) { int nSize = a_listSmplMsrResultFilePathNames->Count; std::vector listSmplMsrResultFilePathNames; for (int i = 0; i < nSize; i++) { listSmplMsrResultFilePathNames.push_back(a_listSmplMsrResultFilePathNames[i]); } m_LpReportFile->get()->SetSmplMsrResultFilePathNames(listSmplMsrResultFilePathNames); } } }