MapParts.cpp
上传用户:bjslfz
上传日期:2022-07-25
资源大小:4430k
文件大小:2k
源码类别:

文件操作

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include "MapParts.h"
  3. IMPLEMENT_DYNAMIC(CMapParts,CObject)
  4. CMapParts::CMapParts()
  5. {
  6. }
  7. CMapParts::CMapParts(CMapParts& Parts)
  8. {
  9.    int i,iCount;
  10.    CMapPoints *pPoints;
  11.    
  12.    iCount = Parts.GetCount() - 1;
  13.    for ( i = 0 ; i <= iCount ; i++ )
  14.    { 
  15. pPoints = new CMapPoints(*Parts.Get(i));
  16. m_Parts.Add(pPoints); 
  17.    } 
  18. }
  19. CMapParts::~CMapParts()
  20. {
  21. Clear();
  22. }
  23. long CMapParts::GetCount()
  24. {
  25. return m_Parts.GetSize(); 
  26. }
  27. void CMapParts::Add(CMapPoints* pPoints)
  28. {
  29. if ( pPoints == NULL )
  30. return;
  31. m_Parts.Add(pPoints); 
  32. }
  33. void CMapParts::Set(long lIndex, CMapPoints* pPoints)
  34. {
  35. long lCount;
  36. CMapPoints* pOldPoints;
  37. if ( pPoints == NULL )
  38. return;
  39. lCount  = m_Parts.GetSize() - 1;
  40. if ( lIndex < 0 || lIndex > lCount )
  41. return;
  42. pOldPoints = m_Parts.GetAt(lIndex);
  43. m_Parts.SetAt(lIndex , pPoints);
  44. delete pOldPoints;
  45. }
  46. void CMapParts::Remove(long lIndex)
  47. {
  48. long lCount;
  49. CMapPoints *pPoints;
  50. lCount  = m_Parts.GetSize() - 1;
  51. if ( lIndex < 0 || lIndex > lCount )
  52. return;
  53. pPoints = m_Parts.GetAt(lIndex);  
  54.     m_Parts.RemoveAt(lIndex,1);   
  55. delete pPoints; 
  56. }
  57. void CMapParts::Insert(long lIndex, CMapPoints* pPoints)
  58. {
  59. int iCount;
  60. iCount = m_Parts.GetSize()-1;
  61. if ( lIndex < 0 || lIndex > iCount )
  62. return ;
  63. m_Parts.InsertAt(lIndex,pPoints);
  64. }
  65. CMapPoints* CMapParts::Get(long lIndex)
  66. {
  67. int iCount;
  68.     CMapPoints  *pPts=NULL;
  69. iCount = m_Parts.GetSize()-1;
  70. if ( lIndex < 0 || lIndex > iCount )
  71. return pPts;
  72.     pPts = m_Parts.GetAt(lIndex);
  73. return pPts;
  74. }
  75. void CMapParts::Clear()
  76. {
  77. long i,lCount;
  78. CMapPoints* pPoints;
  79. lCount  = m_Parts.GetSize() - 1;
  80. for(i = lCount ; i >= 0 ; i-- )
  81. {
  82. pPoints = m_Parts.GetAt(i);
  83. delete pPoints;
  84.     }  
  85. m_Parts.RemoveAll(); 
  86. }