Provided by: libmath-polygon-perl_1.03-1_all bug

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

perl v5.18.2                                       2014-01-21                        Math::Polygon::Surface(3pm)