/usr/share/perl5/Math/Polygon/Clip.pod is in libmath-polygon-perl 1.10-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | =encoding utf8
=head1 NAME
Math::Polygon::Clip - frame a polygon in a square
=head1 INHERITANCE
Math::Polygon::Clip
is a Exporter
=head1 SYNOPSIS
my @poly = ( [1,2], [2,4], [5,7], [1, 2] );
my @box = ( $xmin, $ymin, $xmax, $ymax );
my $boxed = polygon_clip \@box, @poly;
=head1 DESCRIPTION
Cut-off all parts of the polygon which are outside the box
=head1 FUNCTIONS
=over 4
=item B<polygon_fill_clip1>(\@box, @points)
Clipping a polygon into rectangles can be done in various ways.
With this algorithm (which I designed myself, but may not be new), the
parts of the polygon which are outside the @box are mapped on the borders.
The polygon stays in one piece.
Returned is one list of points, which is cleaned from double points,
spikes and superfluous intermediate points.
=item B<polygon_fill_clip2>(\@box, @points)
B<To be implemented>. The polygon falls apart in fragments, which are not
connected: paths which are followed in two directions are removed.
This is required by some applications, like polygons used in geographical
context (country contours and such).
=item B<polygon_fill_clip3>( \@box, $out-$poly, [$in-$polys] )
B<To be implemented>. A surrounding polygon, with possible
inclussions.
=item B<polygon_line_clip>(\@box, @points)
Returned is a list of ARRAYS (possibly 0 long) containing line pieces
from the input polygon (or line).
example:
my @points = ( [1,2], [2,3], [2,0], [1,-1], [1,2] );
my @bbox = ( 0, -2, 2, 2 );
my @l = polygon_line_clip \@bbox, @points;
print scalar @l; # 1, only one piece found
my @first = @{$l[0]}; # first is [2,0], [1,-1], [1,2]
=back
=head1 SEE ALSO
This module is part of Math-Polygon distribution version 1.10,
built on January 03, 2018. Website: F<http://perl.overmeer.net/CPAN/>
=head1 LICENSE
Copyrights 2004-2018 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://dev.perl.org/licenses/>
|