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 |
Returns a list (often empty) of inner polygons.
Returns the outer polygon.
Returns the area enclosed by the outer polygon, minus the areas of the inner polygons. See method Math::Polygon::area().
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().
The length of the border: sums outer and inner perimeters. See method Math::Polygon::perimeter().
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.
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().