Provided by: libmath-polygon-perl_1.03-1_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 add %options after and/or before the $polygons. You may also use the "outer" and "inner" options. $polygons are references to ARRAYs of points, each an ARRAY of X and Y, but better instantiated Math::Polygon objects. -Option--Default inner [] outer undef inner => ARRAY-OF-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.03, built on January 21, 2014. Website: http://perl.overmeer.net/geo/
LICENSE
Copyrights 2004,2006-2014 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://www.perl.com/perl/misc/Artistic.html