STDItemClr.cpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "stdafx.h"
  2. #include "STDItemClr.h"
  3. namespace OTSINTERFACE {
  4. CSTDItemClr::CSTDItemClr()
  5. {
  6. mSTDItm =new CSTDItemPtr( new CSTDItem());
  7. }
  8. CSTDItemClr::!CSTDItemClr()
  9. {
  10. if (mSTDItm != nullptr)
  11. {
  12. delete mSTDItm;
  13. mSTDItm = nullptr;
  14. }
  15. }
  16. CSTDItemClr::~CSTDItemClr()
  17. {
  18. if (mSTDItm != nullptr)
  19. {
  20. delete mSTDItm;
  21. mSTDItm = nullptr;
  22. }
  23. }
  24. CSTDItemClr::CSTDItemClr(CSTDItemPtr pSTDItem) // copy constructor
  25. {
  26. mSTDItm = new CSTDItemPtr(pSTDItem);
  27. }
  28. CSTDItemPtr CSTDItemClr::GetSTDItemPtr()
  29. {
  30. return *mSTDItm;
  31. }
  32. CElementRangeListClr ^ CSTDItemClr::GetElementRangeList()
  33. {
  34. CElementRangeListClr^ eleRans = gcnew CElementRangeListClr();
  35. auto elementRans = mSTDItm->get()->GetElementRangeList();
  36. for (auto eleRan : elementRans)
  37. {
  38. eleRans->Add(gcnew CElementRangeClr(eleRan));
  39. }
  40. return eleRans;
  41. }
  42. void CSTDItemClr::SetElementRangeList(CElementRangeListClr ^ a_istElementRange)
  43. {
  44. CElementRangeList itms;
  45. auto eleEnum = a_istElementRange->GetEnumerator();
  46. for (;eleEnum.MoveNext();)
  47. {
  48. itms.push_back(eleEnum.Current->GetElementRangePtr());
  49. }
  50. mSTDItm->get()->SetElementRangeList(itms, true);
  51. }
  52. }