MODULE = Geo::Geos PACKAGE = Geo::Geos::Noding::SimpleSnapRounder
PROTOTYPES: DISABLE
Sv new(SV*, SV* precisionModel) {
auto& pm = xs::in<PrecisionModel&>(precisionModel);
Object wrapped = xs::out<SimpleSnapRounder*>(new SimpleSnapRounder(pm));
wrapped.payload_attach(precisionModel, &payload_marker);
RETVAL = wrapped.ref();
}
void SimpleSnapRounder::computeVertexSnaps (Array edges) {
std::vector<SegmentString *> v;
v.reserve(edges.size());
for(auto it: edges) {
auto& ss = xs::in<SegmentString&>(it);
v.push_back(&ss);
}
THIS->computeVertexSnaps(v);
}
int CLONE_SKIP (...) { PERL_UNUSED_VAR(items); RETVAL = 1; }
BOOT {
Stash(__PACKAGE__).inherit("Geo::Geos::Noding::Noder");
}