⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapparts.cpp

📁 本程序是用VC++ 开发出的比较底层的GIS系统代码。对于希望从底层学GIS开发的很有帮助
💻 CPP
字号:
#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(); 

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -