Geometry::AutoPtr DPTransformer::transformMultiPolygon( const MultiPolygon* geom, const Geometry* parent) { #if GEOS_DEBUG std::cerr << "DPTransformer::transformMultiPolygon(MultiPolygon " << geom << ", Geometry " << parent << ");" << std::endl; #endif Geometry::AutoPtr roughGeom(GeometryTransformer::transformMultiPolygon(geom, parent)); return createValidArea(roughGeom.get()); }
Geometry::Ptr DPTransformer::transformPolygon( const Polygon* geom, const Geometry* parent) { #if GEOS_DEBUG std::cerr << "DPTransformer::transformPolygon(Polygon " << geom << ", Geometry " << parent << ");" << std::endl; #endif Geometry::Ptr roughGeom(GeometryTransformer::transformPolygon(geom, parent)); // don't try and correct if the parent is going to do this if(dynamic_cast<const MultiPolygon*>(parent)) { return roughGeom; } return createValidArea(roughGeom.get()); }