| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | #include "stdafx.h"#include "HoleClr.h"#include <COTSUtilityDllFunExport.h>namespace OTSCLRINTERFACE {	CHoleClr::CHoleClr()	{				m_Hole = new CHolePtr(new CHole());	}	CHoleClr::CHoleClr(String^ a_strName, int a_nShape, System::Drawing::Rectangle^ a_rectDomain)	// constructor	{				ASSERT(a_strName);		if (!a_strName)		{			LogErrorTrace(__FILE__, __LINE__, _T("CBSEImgClr: Generate CElementChemistryClr pointer failed."));			return;		}					m_Hole = new CHolePtr(new CHole());					CHolePtr d = GetHolePtr();		if (a_rectDomain == nullptr)		{			LogErrorTrace(__FILE__, __LINE__, _T("CDomainClr: invalide rectangle."));			return;		}				d->SetShape((DOMAIN_SHAPE)a_nShape);		CRect* r = new CRect(a_rectDomain->Left, a_rectDomain->Top, a_rectDomain->Right, a_rectDomain->Bottom);		d->SetDomainRect(r);		d->SetName(a_strName);	}		CHolePtr CHoleClr::GetHolePtr()	{				return *m_Hole;	}	CHoleClr::CHoleClr(CHolePtr a_pHole)							// copy constructor	{				ASSERT(a_pHole);		if (!a_pHole)		{			LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CElementChemistryClr pointer failed."));			return;		}							m_Hole = new CHolePtr(a_pHole);			}	CHoleClr::CHoleClr(CHole* a_pSource)							// copy constructor	{		ASSERT(a_pSource);			if (!a_pSource)		{			LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CHoleClr pointer failed."));			return;		}		m_Hole = new CHolePtr(new CHole(a_pSource));	}	CHoleClr::~CHoleClr()	{		if (m_Hole != nullptr)		{			delete m_Hole;			m_Hole = nullptr;        }	}	CHoleClr::!CHoleClr()	{		if (m_Hole != nullptr)		{			delete m_Hole;			m_Hole = nullptr;		}	}	String^ CHoleClr::GetName()	{		String^ NameClr;		if (m_Hole != nullptr)		{			CString sName = m_Hole->get()->GetName();			NameClr = gcnew String(sName);		}		return NameClr;	}	void  CHoleClr::SetName(String^ a_strName)	{		ASSERT(a_strName);		if (!a_strName)		{			LogErrorTrace(__FILE__, __LINE__, _T("SetFileVersion: invalid version."));		}		if (m_Hole != nullptr)		{			m_Hole->get()->SetName(a_strName);		}	}	System::Drawing::Rectangle CHoleClr::GetRectDomain()	{		CHolePtr d = this->GetHolePtr();		CRect cr = d->GetDomainRect();		System::Drawing::Rectangle r(cr.left, cr.top, cr.Width(), cr.Height());		return r;	}}
 |