=head1 NAME

Geo::Geos::Noding::ScaledNoder - Wraps a Noder and transforms its input into the integer domain.

=head1 SYNOPSIS

    use Geo::Geos::Coordinate;
    use Geo::Geos::PrecisionModel;
    use Geo::Geos::Noding::NodedSegmentString;
    use Geo::Geos::Noding::IteratedNoder;
    use Geo::Geos::Noding::ScaledNoder;

    my $c1 = Geo::Geos::Coordinate->new(0,1);
    my $c2 = Geo::Geos::Coordinate->new(2,1);
    my $c3 = Geo::Geos::Coordinate->new(1,0);
    my $c4 = Geo::Geos::Coordinate->new(1,2);
    my $pm = Geo::Geos::PrecisionModel->new;

    my $ss1 = Geo::Geos::Noding::NodedSegmentString->new([$c1, $c2]);
    my $ss2 = Geo::Geos::Noding::NodedSegmentString->new([$c3, $c4]);

    my $n = Geo::Geos::Noding::IteratedNoder->new($pm);
    $n->computeNodes([$ss1, $ss2]);

    my $nScaleFactor = 2;
    my $nOffsetX = 0.0;
    my $nOffsetY = 0.0;
    my $sn = Geo::Geos::Noding::ScaledNoder->new($n, $nScaleFactor, $nOffsetX, $nOffsetY); # => isa 'Geo::Geos::Noding::ScaledNoder'
    Geo::Geos::Noding::ScaledNoder->new($n, $nScaleFactor, $nOffsetX, $nOffsetY);          # => isa 'Geo::Geos::Noding::Noder'

    $sn->isIntegerPrecision;        # => ''
    $sn->getNodedSubstrings->[0];   # => isa 'Geo::Geos::Noding::SegmentString';

=head1 SEE ALSO (C++ classes docs)

L<GEOS C++ Library|https://trac.osgeo.org/geos>

geos::noding::ScaledNoder

=head1 SEE ALSO

L<Geo::Geos>

L<Geo::Geos::Noding::Noder>

L<Geo::Geos::Noding::SegmentString>

=head1 AUTHOR

Ivan Baidakou <i.baydakov@crazypanda.ru>, Crazy Panda, CP Decision LTD

=head1 LICENSE

You may distribute this code under the same terms as Perl itself.

=cut
