www.gusucode.com > VC++开源的SHP格式GIS地图查看软件源程序源码程序 > VC++开源的SHP格式GIS地图查看软件源程序源码程序\code\MapParts.cpp
//Download by http://www.NewXing.com #include "stdafx.h" #include "MapParts.h" IMPLEMENT_DYNAMIC(CMapParts,CObject) CMapParts::CMapParts() { } CMapParts::CMapParts(CMapParts& Parts) { int i,iCount; CMapPoints *pPoints; iCount = Parts.GetCount() - 1; for ( i = 0 ; i <= iCount ; i++ ) { pPoints = new CMapPoints(*Parts.Get(i)); m_Parts.Add(pPoints); } } CMapParts::~CMapParts() { Clear(); } long CMapParts::GetCount() { return m_Parts.GetSize(); } void CMapParts::Add(CMapPoints* pPoints) { if ( pPoints == NULL ) return; m_Parts.Add(pPoints); } void CMapParts::Set(long lIndex, CMapPoints* pPoints) { long lCount; CMapPoints* pOldPoints; if ( pPoints == NULL ) return; lCount = m_Parts.GetSize() - 1; if ( lIndex < 0 || lIndex > lCount ) return; pOldPoints = m_Parts.GetAt(lIndex); m_Parts.SetAt(lIndex , pPoints); delete pOldPoints; } void CMapParts::Remove(long lIndex) { long lCount; CMapPoints *pPoints; lCount = m_Parts.GetSize() - 1; if ( lIndex < 0 || lIndex > lCount ) return; pPoints = m_Parts.GetAt(lIndex); m_Parts.RemoveAt(lIndex,1); delete pPoints; } void CMapParts::Insert(long lIndex, CMapPoints* pPoints) { int iCount; iCount = m_Parts.GetSize()-1; if ( lIndex < 0 || lIndex > iCount ) return ; m_Parts.InsertAt(lIndex,pPoints); } CMapPoints* CMapParts::Get(long lIndex) { int iCount; CMapPoints *pPts=NULL; iCount = m_Parts.GetSize()-1; if ( lIndex < 0 || lIndex > iCount ) return pPts; pPts = m_Parts.GetAt(lIndex); return pPts; } void CMapParts::Clear() { long i,lCount; CMapPoints* pPoints; lCount = m_Parts.GetSize() - 1; for(i = lCount ; i >= 0 ; i-- ) { pPoints = m_Parts.GetAt(i); delete pPoints; } m_Parts.RemoveAll(); }