HoleClr.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. #include "stdafx.h"
  2. #include "HoleClr.h"
  3. #include <COTSUtilityDllFunExport.h>
  4. namespace OTSCLRINTERFACE {
  5. CHoleClr::CHoleClr()
  6. {
  7. m_Hole = new CHolePtr(new CHole());
  8. }
  9. CHoleClr::CHoleClr(String^ a_strName, int a_nShape, System::Drawing::Rectangle^ a_rectDomain) // constructor
  10. {
  11. ASSERT(a_strName);
  12. if (!a_strName)
  13. {
  14. LogErrorTrace(__FILE__, __LINE__, _T("CBSEImgClr: Generate CElementChemistryClr pointer failed."));
  15. return;
  16. }
  17. m_Hole = new CHolePtr(new CHole());
  18. CHolePtr d = GetHolePtr();
  19. if (a_rectDomain == nullptr)
  20. {
  21. LogErrorTrace(__FILE__, __LINE__, _T("CDomainClr: invalide rectangle."));
  22. return;
  23. }
  24. d->SetShape((DOMAIN_SHAPE)a_nShape);
  25. CRect* r = new CRect(a_rectDomain->Left, a_rectDomain->Top, a_rectDomain->Right, a_rectDomain->Bottom);
  26. d->SetDomainRect(r);
  27. d->SetName(a_strName);
  28. }
  29. CHolePtr CHoleClr::GetHolePtr()
  30. {
  31. return *m_Hole;
  32. }
  33. CHoleClr::CHoleClr(CHolePtr a_pHole) // copy constructor
  34. {
  35. ASSERT(a_pHole);
  36. if (!a_pHole)
  37. {
  38. LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CElementChemistryClr pointer failed."));
  39. return;
  40. }
  41. m_Hole = new CHolePtr(a_pHole);
  42. }
  43. CHoleClr::CHoleClr(CHole* a_pSource) // copy constructor
  44. {
  45. ASSERT(a_pSource);
  46. if (!a_pSource)
  47. {
  48. LogErrorTrace(__FILE__, __LINE__, _T("CHoleClr: Generate CHoleClr pointer failed."));
  49. return;
  50. }
  51. m_Hole = new CHolePtr(new CHole(a_pSource));
  52. }
  53. CHoleClr::~CHoleClr()
  54. {
  55. if (m_Hole != nullptr)
  56. {
  57. delete m_Hole;
  58. m_Hole = nullptr;
  59. }
  60. }
  61. CHoleClr::!CHoleClr()
  62. {
  63. if (m_Hole != nullptr)
  64. {
  65. delete m_Hole;
  66. m_Hole = nullptr;
  67. }
  68. }
  69. String^ CHoleClr::GetName()
  70. {
  71. String^ NameClr;
  72. if (m_Hole != nullptr)
  73. {
  74. CString sName = m_Hole->get()->GetName();
  75. NameClr = gcnew String(sName);
  76. }
  77. return NameClr;
  78. }
  79. void CHoleClr::SetName(String^ a_strName)
  80. {
  81. ASSERT(a_strName);
  82. if (!a_strName)
  83. {
  84. LogErrorTrace(__FILE__, __LINE__, _T("SetFileVersion: invalid version."));
  85. }
  86. if (m_Hole != nullptr)
  87. {
  88. m_Hole->get()->SetName(a_strName);
  89. }
  90. }
  91. System::Drawing::Rectangle CHoleClr::GetRectDomain()
  92. {
  93. CHolePtr d = this->GetHolePtr();
  94. CRect cr = d->GetDomainRect();
  95. System::Drawing::Rectangle r(cr.left, cr.top, cr.Width(), cr.Height());
  96. return r;
  97. }
  98. }