my $poly = Math::Polygon->new( [1,2], [2,4], [5,7], [1,2] ); print $poly->nrPoints; my @p = $poly->points; my ($xmin, $ymin, $xmax, $ymax) = $poly->bbox; my $area = $poly->area; my $l = $poly->perimeter; if($poly->isClockwise) { ... };
my $rot = $poly->startMinXY; my $boxed = $poly->lineClip($xmin, $xmax, $ymin, $ymax);
This class provides an OO interface around Math::Polygon::Calc and Math::Polygon::Clip.