| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | #include "stdafx.h"#include "StageClr.h"#include <COTSUtilityDllFunExport.h>namespace OTSCLRINTERFACE {	CStageClr::CStageClr()	{				m_Stage = new CStagePtr(new CStage());	}	CStageClr::CStageClr(CStagePtr pStage)			// copy constructor	{			ASSERT(pStage);			if (!pStage)			{				LogErrorTrace(__FILE__, __LINE__, _T("CStageClr: Invalid CGridRow pointer."));				return;			}									m_Stage = new CStagePtr(pStage);					}	CStageClr::CStageClr(CStage* a_pSource)							// copy constructor	{		ASSERT(a_pSource);		if (!a_pSource)		{			LogErrorTrace(__FILE__, __LINE__, _T("CBSEImgClr: Generate CBSEImgClr pointer failed."));			return;		}		m_Stage = new CStagePtr(new CStage(a_pSource));	}	CStageClr::~CStageClr()	{		if (m_Stage != nullptr)		{			delete m_Stage;			m_Stage = nullptr;		}	}	CStageClr::!CStageClr()	{		if (m_Stage != nullptr)		{			delete m_Stage;			m_Stage = nullptr;		}	}	String^ CStageClr::GetName()	{		String^ NameClr;		if (m_Stage != nullptr)		{			CString sName = m_Stage->get()->GetName();			NameClr = gcnew String(sName);		}		return NameClr;	}	void  CStageClr::SetName(String^ a_strName)	{		ASSERT(a_strName);		if (!a_strName)		{			LogErrorTrace(__FILE__, __LINE__, _T("SetFileVersion: invalid version."));		}		if (m_Stage != nullptr)		{			m_Stage->get()->SetName(a_strName);		}	}	CDomainClr^ CStageClr::GetBourary()	{		CDomainClr^ DomainClr;		if (m_Stage != nullptr)		{			CDomainPtr Domain = m_Stage->get()->GetBoundary();			DomainClr = gcnew CDomainClr(Domain);		}		return DomainClr;	}	void CStageClr::SetBoundary(CDomainClr^ a_poBouray)	{		ASSERT(a_poBouray);		if (!a_poBouray)		{			LogErrorTrace(__FILE__, __LINE__, _T("SetBoundary: invalid feature pointer."));			return;		}				if (m_Stage != nullptr)		{			CDomainPtr pDomain = a_poBouray->GetDomainPtr();			ASSERT(pDomain);			if (!pDomain)			{				LogErrorTrace(__FILE__, __LINE__, _T("SetBoundary: invalid part Element pointer."));				return;			}			m_Stage->get()->SetBoundary(pDomain);		}	}	CDomainClr^ CStageClr::GetSTD()	{		CDomainClr^ DomainClr;		if (m_Stage != nullptr)		{			CDomainPtr Domain = m_Stage->get()->GetSTD();			DomainClr = gcnew CDomainClr(Domain);		}		return DomainClr;	}	void CStageClr::SetSTD(CDomainClr^ a_poSTD)	{		ASSERT(a_poSTD);		if (!a_poSTD)		{			LogErrorTrace(__FILE__, __LINE__, _T("SetSTD: invalid feature pointer."));			return;		}		if (m_Stage != nullptr)		{			CDomainPtr pDomain = a_poSTD->GetDomainPtr();			ASSERT(pDomain);			if (!pDomain)			{				LogErrorTrace(__FILE__, __LINE__, _T("SetSTD: invalid part Element pointer."));				return;			}			m_Stage->get()->SetSTD(pDomain);		}	}	CHoleListClr^ CStageClr::GetHoleList()	{		auto pHoles = m_Stage->get()->GetHoleList();		CHoleListClr^ HoleListClr=gcnew CHoleListClr();		if (m_Stage != nullptr)		{						for (auto i = 0; i < (int)pHoles.size (); i++)			{										HoleListClr->Add(gcnew CHoleClr(pHoles[i]));			}		}		return HoleListClr;	}	void CStageClr::SetHoleList(CHoleListClr^ a_listHoles)	{		ASSERT(a_listHoles);		if (!a_listHoles)		{			LogErrorTrace(__FILE__, __LINE__, _T("SetSTD: invalid feature pointer."));			return;		}				if (m_Stage != nullptr)		{						CHolesList hls;			for (auto pHoles = a_listHoles->GetEnumerator(); pHoles.MoveNext();)			{				hls.push_back(pHoles.Current->GetHolePtr());			}			m_Stage->get()->SetHoleList(hls);		}					}	CStagePtr CStageClr::GetStagePtr()	{				return *m_Stage;	}	}
 |