PartSTDDataClr.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include "stdafx.h"
  2. #include "PartSTDDataClr.h"
  3. namespace OTSINTERFACE {
  4. CPartSTDDataClr::CPartSTDDataClr()
  5. {
  6. mPartSTD =new CPartSTDDataPtr( new CPartSTDData());
  7. }
  8. CPartSTDDataClr::CPartSTDDataClr(CPartSTDDataPtr pPartSTDData) // copy constructor
  9. {
  10. mPartSTD = new CPartSTDDataPtr(pPartSTDData);
  11. }
  12. CPartSTDDataClr::!CPartSTDDataClr()
  13. {
  14. if (mPartSTD != nullptr)
  15. {
  16. delete mPartSTD;
  17. mPartSTD = nullptr;
  18. }
  19. }
  20. CPartSTDDataClr::~CPartSTDDataClr()
  21. {
  22. if (mPartSTD != nullptr)
  23. {
  24. delete mPartSTD;
  25. mPartSTD = nullptr;
  26. }
  27. }
  28. CPartSTDDataPtr CPartSTDDataClr::GetPartSTDDataPtr()
  29. {
  30. return *mPartSTD;
  31. }
  32. List<CElementClr^>^ CPartSTDDataClr::GetElementsList()
  33. {
  34. List<CElementClr^>^ eles= gcnew List<CElementClr^>();
  35. auto elements = mPartSTD->get()->GetElementsList();
  36. for (auto ele : elements)
  37. {
  38. eles->Add(gcnew CElementClr(ele));
  39. }
  40. return eles;
  41. }
  42. void CPartSTDDataClr::SetElementsList(List<CElementClr^>^ a_listElements)
  43. {
  44. CElementsList eles;
  45. auto ele = a_listElements->GetEnumerator();
  46. for (; ele.MoveNext();)
  47. {
  48. eles.push_back(ele.Current->GetElementPtr());
  49. }
  50. mPartSTD->get()->SetElementsList(eles,true);
  51. }
  52. List<CSTDItemClr^>^ CPartSTDDataClr::GetSTDItemsList()
  53. {
  54. List<CSTDItemClr^>^ STDItms = gcnew List<CSTDItemClr^>();
  55. auto itms = mPartSTD->get()->GetSTDItemsList();
  56. for (auto itm : itms)
  57. {
  58. STDItms->Add(gcnew CSTDItemClr(itm));
  59. }
  60. return STDItms;
  61. }
  62. void CPartSTDDataClr::SetSTDItemsList(List<CSTDItemClr^>^ a_listSTDItems)
  63. {
  64. CSTDItemsList STDs;
  65. auto itmEnumerator = a_listSTDItems->GetEnumerator();
  66. for (; itmEnumerator.MoveNext();)
  67. {
  68. STDs.push_back(itmEnumerator.Current->GetSTDItemPtr());
  69. }
  70. mPartSTD->get()->SetSTDItemsList(STDs,true);
  71. }
  72. }