diff --git a/src/ol/geom/flatgeom.js b/src/ol/geom/flatgeom.js index 88635b9100..8a7f156b7e 100644 --- a/src/ol/geom/flatgeom.js +++ b/src/ol/geom/flatgeom.js @@ -549,6 +549,28 @@ ol.geom.flat.linearRingsGetInteriorPoint = /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} offset Offset. + * @param {Array.} ends Ends. + * @param {number} stride Stride. + * @return {boolean} `true` if all rings are correctly oriented, `false` + * otherwise. + */ +ol.geom.flat.linearRingsAreOriented = + 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.flat.linearRingIsClockwise( + flatCoordinates, offset, end, stride); + if (i === 0 ? !isClockwise : isClockwise) { + return false; + } + offset = end; + } + return true; +}; + + +/** * @param {Array.>} endss Endss. * @param {number} stride Stride. * @return {number} Area.