std::auto_ptr<Geometry> difference( const Geometry& ga, const Geometry& gb ) { GeometrySet<2> gsa( ga ), gsb( gb ), output; algorithm::difference( gsa, gsb, output ); return output.recompose(); }
std::auto_ptr<Geometry> intersection( const Geometry& ga, const Geometry& gb ) { GeometrySet<2> gsa( ga ), gsb( gb ), output; algorithm::intersection( gsa, gsb, output ); GeometrySet<2> filtered; output.filterCovered( filtered ); return filtered.recompose(); }