diff --git a/src/ol/geom/geometry.js b/src/ol/geom/geometry.js index 4124ee04df..a35b3ef1c9 100644 --- a/src/ol/geom/geometry.js +++ b/src/ol/geom/geometry.js @@ -513,6 +513,48 @@ ol.geom.inflateCoordinatesss = }; +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.} ends Ends. + * @param {number} stride Stride. + * @return {number} End. + */ +ol.geom.orientFlatLinearRings = + function(flatCoordinates, offset, ends, stride) { + var i, ii; + for (i = 0, ii = ends.length; i < ii; ++i) { + var end = ends[i]; + var isClockwise = ol.geom.flatLinearRingIsClockwise( + flatCoordinates, offset, end, stride); + var reverse = i === 0 ? !isClockwise : isClockwise; + if (reverse) { + ol.geom.reverseFlatCoordinates(flatCoordinates, offset, end, stride); + } + offset = end; + } + return offset; +}; + + +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.>} endss Endss. + * @param {number} stride Stride. + * @return {number} End. + */ +ol.geom.orientFlatLinearRingss = + function(flatCoordinates, offset, endss, stride) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + offset = ol.geom.orientFlatLinearRings( + flatCoordinates, offset, endss[i], stride); + } + return offset; +}; + + /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} offset Offset.