MODULE = Geo::Geos PACKAGE = Geo::Geos::Precision::GeometryPrecisionReducer
PROTOTYPES: DISABLE
Sv new(SV*, SV* arg0) {
GeometryPrecisionReducer* self;
Object arg{arg0};
if (arg.stash().name() == "Geo::Geos::PrecisionModel") {
PrecisionModel& pm = xs::in<PrecisionModel&>(arg);
self = new GeometryPrecisionReducer(pm);
}
else {
GeometryFactory& gf = xs::in<GeometryFactory&>(arg);
self = new GeometryPrecisionReducer(gf);
}
Object wrapped = xs::out<GeometryPrecisionReducer*>(self);
wrapped.payload_attach(SvRV(arg0), &payload_marker);
RETVAL = wrapped.ref();
}
void GeometryPrecisionReducer::setRemoveCollapsedComponents(bool remove)
void GeometryPrecisionReducer::setPointwise (bool pointwise)
Sv GeometryPrecisionReducer::reduce(Geometry& g) {
auto ptr = THIS->reduce(g);
RETVAL = Helper::uplift(ptr.release());
}
int CLONE_SKIP (...) { PERL_UNUSED_VAR(items); RETVAL = 1; }