From 0845c866d5d0eef29598360b747fb1628656c3f8 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Fri, 6 Dec 2013 15:02:04 +0100 Subject: [PATCH] Add ol.geom.MultiLineString#getSimplifiedGeometryInternal --- src/ol/geom/multilinestring.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/ol/geom/multilinestring.js b/src/ol/geom/multilinestring.js index 3f255fba11..a2649ab2d3 100644 --- a/src/ol/geom/multilinestring.js +++ b/src/ol/geom/multilinestring.js @@ -3,6 +3,7 @@ goog.provide('ol.geom.MultiLineString'); goog.require('ol.geom.Geometry'); goog.require('ol.geom.LineString'); goog.require('ol.geom.flat'); +goog.require('ol.geom.simplify'); @@ -60,6 +61,23 @@ ol.geom.MultiLineString.prototype.getLineStrings = function() { }; +/** + * @inheritDoc + */ +ol.geom.MultiLineString.prototype.getSimplifiedGeometryInternal = + function(squaredTolerance) { + var simplifiedFlatCoordinates = []; + var simplifiedEnds = []; + simplifiedFlatCoordinates.length = ol.geom.simplify.douglasPeuckers( + this.flatCoordinates, 0, this.ends_, this.stride, squaredTolerance, + simplifiedFlatCoordinates, 0, simplifiedEnds); + var simplifiedMultiLineString = new ol.geom.MultiLineString(null); + simplifiedMultiLineString.setFlatCoordinates( + ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEnds); + return simplifiedMultiLineString; +}; + + /** * @inheritDoc */