From c1c813e3fad6ec3c69e8a075613d1212b2073e6e Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sat, 30 Nov 2013 19:29:56 +0100 Subject: [PATCH] Add ol.geom.Polygon#getLinearRings --- src/ol/geom/polygon.exports | 1 + src/ol/geom/polygon.js | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/ol/geom/polygon.exports b/src/ol/geom/polygon.exports index 45c5d8b3aa..64054f31e8 100644 --- a/src/ol/geom/polygon.exports +++ b/src/ol/geom/polygon.exports @@ -1,4 +1,5 @@ @exportSymbol ol.geom.Polygon @exportProperty ol.geom.Polygon.prototype.getCoordinates +@exportProperty ol.geom.Polygon.prototype.getLinearRings @exportProperty ol.geom.Polygon.prototype.getType @exportProperty ol.geom.Polygon.prototype.setCoordinates diff --git a/src/ol/geom/polygon.js b/src/ol/geom/polygon.js index c52a4ae8bd..a227b986c4 100644 --- a/src/ol/geom/polygon.js +++ b/src/ol/geom/polygon.js @@ -1,6 +1,7 @@ goog.provide('ol.geom.Polygon'); goog.require('ol.geom.Geometry'); +goog.require('ol.geom.LinearRing'); goog.require('ol.geom.flat'); @@ -53,6 +54,20 @@ ol.geom.Polygon.prototype.getEnds = function() { }; +/** + * @return {Array.} Linear rings. + */ +ol.geom.Polygon.prototype.getLinearRings = function() { + var linearRings = []; + var coordinates = this.getCoordinates(); + var i, ii; + for (i = 0, ii = coordinates.length; i < ii; ++i) { + linearRings.push(new ol.geom.LinearRing(coordinates[i])); + } + return linearRings; +}; + + /** * @inheritDoc */