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());
}
Пример #2
0
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());
}