diff --git a/src/ol/geom/flatgeom.js b/src/ol/geom/flatgeom.js index de64c9aab4..e3365b84a2 100644 --- a/src/ol/geom/flatgeom.js +++ b/src/ol/geom/flatgeom.js @@ -256,6 +256,48 @@ ol.geom.flat.linearRingssContainsXY = }; +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {Array.} ends Ends. + * @param {number} stride Stride. + * @return {number} End. + */ +ol.geom.flat.orientLinearRings = + 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); + var reverse = i === 0 ? !isClockwise : isClockwise; + if (reverse) { + ol.geom.flat.reverseCoordinates(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.flat.orientLinearRingss = + function(flatCoordinates, offset, endss, stride) { + var i, ii; + for (i = 0, ii = endss.length; i < ii; ++i) { + offset = ol.geom.flat.orientLinearRings( + flatCoordinates, offset, endss[i], stride); + } + return offset; +}; + + /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} offset Offset. diff --git a/src/ol/geom/geometry.js b/src/ol/geom/geometry.js index 6b08a90098..025ab1ae97 100644 --- a/src/ol/geom/geometry.js +++ b/src/ol/geom/geometry.js @@ -262,48 +262,6 @@ ol.geom.RawMultiLineString; ol.geom.RawMultiPolygon; -/** - * @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.flat.linearRingIsClockwise( - flatCoordinates, offset, end, stride); - var reverse = i === 0 ? !isClockwise : isClockwise; - if (reverse) { - ol.geom.flat.reverseCoordinates(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 {ol.geom.Geometry} geometry Geometry. * @param {goog.vec.Mat4.AnyType} transform Transform. diff --git a/src/ol/geom/multipolygon.js b/src/ol/geom/multipolygon.js index 218d4b8983..e2aa94c49e 100644 --- a/src/ol/geom/multipolygon.js +++ b/src/ol/geom/multipolygon.js @@ -70,7 +70,7 @@ ol.geom.MultiPolygon.prototype.setCoordinates = this.setLayout(opt_layout, coordinates, 3); ol.geom.flat.deflateCoordinatesss( this.flatCoordinates, 0, coordinates, this.stride, this.endss_); - ol.geom.orientFlatLinearRingss( + ol.geom.flat.orientLinearRingss( this.flatCoordinates, 0, this.endss_, this.stride); this.dispatchChangeEvent(); }; diff --git a/src/ol/geom/polygon.js b/src/ol/geom/polygon.js index 2efb9e9f34..92fbac1b9c 100644 --- a/src/ol/geom/polygon.js +++ b/src/ol/geom/polygon.js @@ -70,7 +70,7 @@ ol.geom.Polygon.prototype.setCoordinates = this.setLayout(opt_layout, coordinates, 2); ol.geom.flat.deflateCoordinatess( this.flatCoordinates, 0, coordinates, this.stride, this.ends_); - ol.geom.orientFlatLinearRings( + ol.geom.flat.orientLinearRings( this.flatCoordinates, 0, this.ends_, this.stride); this.dispatchChangeEvent(); };