Provided by: libmath-polygon-perl_1.10-3_all 

NAME
Math::Polygon::Surface - Polygon with exclusions
SYNOPSIS
my $outer = Math::Polygon->new( [1,2], [2,4], [5,7], [1,2] );
my $surface = Math::Polygon::Surface->new($outer);
DESCRIPTION
A surface is one polygon which represents the outer bounds of an array, plus optionally a list of
polygons which represent exclusions from that outer polygon.
METHODS
Constructors
$obj->new( [%options], [@polygons], %options )
Math::Polygon::Surface->new( [%options], [@polygons], %options )
You may merge %options with @polygons. You may also use the "outer" and "inner" options.
Each polygon is a references to an ARRAY of points, each an ARRAY of X and Y, but better pass
Math::Polygon objects.
-Option--Default
inner []
outer undef
inner => \@polygons
The inner polygons, zero or more Math::Polygon objects.
outer => $polygon
The outer polygon, a Math::Polygon.
Attributes
$obj->inner()
Returns a list (often empty) of inner polygons.
$obj->outer()
Returns the outer polygon.
Simple calculations
area()
Returns the area enclosed by the outer polygon, minus the areas of the inner polygons. See method
Math::Polygon::area().
$obj->bbox()
Returns a list with four elements: (xmin, ymin, xmax, ymax), which describe the bounding box of the
surface, which is the bbox of the outer polygon. See method Math::Polygon::bbox().
$obj->perimeter()
The length of the border: sums outer and inner perimeters. See method Math::Polygon::perimeter().
Clipping
$obj->fillClip1($box)
Clipping a polygon into rectangles can be done in various ways. With this algorithm, the parts of
the polygon which are outside the $box are mapped on the borders.
All polygons are treated separately.
$obj->lineClip($box)
Returned is a list of ARRAYS-OF-POINTS containing line pieces from the input surface. Lines from
outer and inner polygons are undistinguishable. See method Math::Polygon::lineClip().
$obj->string()
Translate the surface structure into some string. Use Geo::WKT if you need a standardized format.
Returned is a single string possibly containing multiple lines. The first line is the outer, the
other lines represent the inner polygons.
DIAGNOSTICS
Error: surface requires outer polygon
SEE ALSO
This module is part of Math-Polygon distribution version 1.10, built on January 03, 2018. Website:
http://perl.overmeer.net/CPAN/
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 http://dev.perl.org/licenses/
perl v5.36.0 2022-10-13 Math::Polygon::Surface(3pm)