Create linear rings directly from flat coordinates
This commit is contained in:
@@ -153,11 +153,18 @@ ol.geom.Polygon.prototype.getInteriorPoint = function() {
|
|||||||
* @return {Array.<ol.geom.LinearRing>} Linear rings.
|
* @return {Array.<ol.geom.LinearRing>} Linear rings.
|
||||||
*/
|
*/
|
||||||
ol.geom.Polygon.prototype.getLinearRings = function() {
|
ol.geom.Polygon.prototype.getLinearRings = function() {
|
||||||
|
var layout = this.layout;
|
||||||
|
var flatCoordinates = this.flatCoordinates;
|
||||||
|
var ends = this.ends_;
|
||||||
var linearRings = [];
|
var linearRings = [];
|
||||||
var coordinates = this.getCoordinates();
|
var offset = 0;
|
||||||
var i, ii;
|
var i, ii;
|
||||||
for (i = 0, ii = coordinates.length; i < ii; ++i) {
|
for (i = 0, ii = ends.length; i < ii; ++i) {
|
||||||
linearRings.push(new ol.geom.LinearRing(coordinates[i]));
|
var end = ends[i];
|
||||||
|
var linearRing = new ol.geom.LinearRing(null);
|
||||||
|
linearRing.setFlatCoordinates(layout, flatCoordinates.slice(offset, end));
|
||||||
|
linearRings.push(linearRing);
|
||||||
|
offset = end;
|
||||||
}
|
}
|
||||||
return linearRings;
|
return linearRings;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user