From daecad22ae6c0cb6a97167e3264842001e321628 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Sat, 9 Nov 2013 18:55:17 +0100 Subject: [PATCH] Add ol.geom.{de,in}flateCoordinatesss --- src/ol/geom/geometry.js | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/ol/geom/geometry.js b/src/ol/geom/geometry.js index 1eea2e950a..2c371bef3e 100644 --- a/src/ol/geom/geometry.js +++ b/src/ol/geom/geometry.js @@ -288,6 +288,29 @@ ol.geom.deflateCoordinatess = }; +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.>>} coordinatesss Coordinatesss. + * @param {number} stride Stride. + * @param {Array.>=} opt_endss Endss. + * @return {Array.>} Endss. + */ +ol.geom.deflateCoordinatesss = + function(flatCoordinates, offset, coordinatesss, stride, opt_endss) { + var endss = goog.isDef(opt_endss) ? opt_endss : []; + var i = 0; + var j, jj; + for (j = 0, jj = coordinatesss.length; j < jj; ++j) { + var ends = ol.geom.deflateCoordinatess( + flatCoordinates, offset, coordinatesss[j], stride, endss[i]); + endss[i++] = ends; + offset = ends[ends.length - 1]; + } + return endss; +}; + + /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} offset Offset. @@ -331,3 +354,28 @@ ol.geom.inflateCoordinatess = coordinatess.length = i; return coordinatess; }; + + +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.>} endss Endss. + * @param {number} stride Stride. + * @param {Array.>>=} opt_coordinatesss + * Coordinatesss. + * @return {Array.>>} Coordinatesss. + */ +ol.geom.inflateCoordinatesss = + function(flatCoordinates, offset, endss, stride, opt_coordinatesss) { + var coordinatesss = goog.isDef(opt_coordinatesss) ? opt_coordinatesss : []; + var i = 0; + var j, jj; + for (j = 0, jj = endss.length; j < jj; ++j) { + var ends = endss[j]; + coordinatesss[i++] = ol.geom.inflateCoordinatess( + flatCoordinates, offset, ends, stride, coordinatesss[i]); + offset = ends[ends.length - 1]; + } + coordinatesss.length = i; + return coordinatesss; +};