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); }