Beispiel #1
0
void Polygon::AddGeometry(Geometry *pGeometry)
{
	LinearRing *pring = dynamic_cast<LinearRing*>(pGeometry);
	
	if(pring ==NULL)
	{
		return;
	}
	//如果环是不闭合的,并且不是一个空环,则不能加入到多边形中
	if(!pring->isClosed() && !pring->isEmpty())
	{
		return;
	}
	//当外环为空时,将这个环替换外环
	if(shell->isEmpty())
	{
        delete shell;
		shell =pring;
		return;
	}

	holes->push_back(pring);
}