Add ol.geom.MultiPolygon#getSimplifiedGeometryInternal

This commit is contained in:
Tom Payne
2013-12-06 15:02:23 +01:00
parent 0845c866d5
commit d3320da7c6
2 changed files with 43 additions and 0 deletions

View File

@@ -3,6 +3,7 @@ goog.provide('ol.geom.MultiPolygon');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.Polygon');
goog.require('ol.geom.flat');
goog.require('ol.geom.simplify');
@@ -90,6 +91,24 @@ ol.geom.MultiPolygon.prototype.getInteriorPoints = function() {
};
/**
* @inheritDoc
*/
ol.geom.MultiPolygon.prototype.getSimplifiedGeometryInternal =
function(squaredTolerance) {
var simplifiedFlatCoordinates = [];
var simplifiedEndss = [];
simplifiedFlatCoordinates.length =
ol.geom.simplify.douglasPeuckerss(this.flatCoordinates, 0,
this.endss_, this.stride, squaredTolerance, simplifiedFlatCoordinates,
0, simplifiedEndss);
var simplifiedMultiPolygon = new ol.geom.MultiPolygon(null);
simplifiedMultiPolygon.setFlatCoordinates(
ol.geom.GeometryLayout.XY, simplifiedFlatCoordinates, simplifiedEndss);
return simplifiedMultiPolygon;
};
/**
* @return {Array.<ol.geom.Polygon>} Polygons.
*/