The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Geo::Geos::Index::MonotoneChainOverlapAction - The action for the internal iterator for performing overlap queries.

SYNOPSIS

use Geo::Geos::Coordinate;
use Geo::Geos::Index::MonotoneChain;
use Geo::Geos::Index::MonotoneChainOverlapAction;

my $c1 = Geo::Geos::Coordinate->new(0,2);
my $c2 = Geo::Geos::Coordinate->new(1,2);
my $c3 = Geo::Geos::Coordinate->new(2,2);
my $c4 = Geo::Geos::Coordinate->new(3,1);
my $c5 = Geo::Geos::Coordinate->new(4,1);
my $c6 = Geo::Geos::Coordinate->new(5,1);
my $c7 = Geo::Geos::Coordinate->new(6,0);
my $c8 = Geo::Geos::Coordinate->new(7,0);

my $list = [$c1, $c2, $c3, $c4, $c5, $c6, $c7, $c8];
my $mc = Geo::Geos::Index::MonotoneChain->new($list, 0, 7);

my $mc2 = Geo::Geos::Index::MonotoneChain->new([$c5, $c6], 0, 1);
my $mcoa = Geo::Geos::Index::MonotoneChainOverlapAction->new;        # => isa 'Geo::Geos::Index::MonotoneChainOverlapAction'
$mc->computeOverlaps($mc2, $mcoa);

$mcoa->overlap($mc, 0, $mc2, 1);
$mcoa->overlap($mc2->getLineSegment(0), $mc2->getLineSegment(1));

$mcoa->tempEnv1;    # isa 'Geo::Geos::Envelope'
$mcoa->tempEnv2;    # isa 'Geo::Geos::Envelope'

SEE ALSO (C++ classes docs)

GEOS C++ Library

geos::index::chain::MonotoneChainOverlapAction

SEE ALSO

Geo::Geos

Geo::Geos::Envelope

Geo::Geos::Index::MonotoneChain

AUTHOR

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

LICENSE

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