diff --git a/src/ol/geom/flatgeom.js b/src/ol/geom/flatgeom.js index b146aa31a7..678298c3b4 100644 --- a/src/ol/geom/flatgeom.js +++ b/src/ol/geom/flatgeom.js @@ -143,6 +143,27 @@ ol.geom.flat.inflateCoordinatesss = }; +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + */ +ol.geom.flat.reverseCoordinates = + function(flatCoordinates, offset, end, stride) { + while (offset < end - stride) { + var i; + for (i = 0; i < stride; ++i) { + var tmp = flatCoordinates[offset + i]; + flatCoordinates[offset + i] = flatCoordinates[end - stride + i]; + flatCoordinates[end - stride + i] = tmp; + } + offset += stride; + end -= stride; + } +}; + + /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} stride Stride. diff --git a/src/ol/geom/geometry.js b/src/ol/geom/geometry.js index 385f448591..c627b7a925 100644 --- a/src/ol/geom/geometry.js +++ b/src/ol/geom/geometry.js @@ -391,7 +391,7 @@ ol.geom.orientFlatLinearRings = flatCoordinates, offset, end, stride); var reverse = i === 0 ? !isClockwise : isClockwise; if (reverse) { - ol.geom.reverseFlatCoordinates(flatCoordinates, offset, end, stride); + ol.geom.flat.reverseCoordinates(flatCoordinates, offset, end, stride); } offset = end; } @@ -417,27 +417,6 @@ ol.geom.orientFlatLinearRingss = }; -/** - * @param {Array.} flatCoordinates Flat coordinates. - * @param {number} offset Offset. - * @param {number} end End. - * @param {number} stride Stride. - */ -ol.geom.reverseFlatCoordinates = - function(flatCoordinates, offset, end, stride) { - while (offset < end - stride) { - var i; - for (i = 0; i < stride; ++i) { - var tmp = flatCoordinates[offset + i]; - flatCoordinates[offset + i] = flatCoordinates[end - stride + i]; - flatCoordinates[end - stride + i] = tmp; - } - offset += stride; - end -= stride; - } -}; - - /** * @param {ol.geom.Geometry} geometry Geometry. * @param {goog.vec.Mat4.AnyType} transform Transform. diff --git a/test/spec/ol/geom/geom.test.js b/test/spec/ol/geom/geom.test.js index 987169e380..d957135e8a 100644 --- a/test/spec/ol/geom/geom.test.js +++ b/test/spec/ol/geom/geom.test.js @@ -72,41 +72,41 @@ describe('ol.geom', function() { }); - describe('ol.geom.reverseFlatCoordinates', function() { + describe('ol.geom.flat.reverseCoordinates', function() { describe('with a stride of 2', function() { it('can reverse empty flat coordinates', function() { var flatCoordinates = []; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 2); expect(flatCoordinates).to.be.empty(); }); it('can reverse one flat coordinates', function() { var flatCoordinates = [1, 2]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 2); expect(flatCoordinates).to.eql([1, 2]); }); it('can reverse two flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 2); expect(flatCoordinates).to.eql([3, 4, 1, 2]); }); it('can reverse three flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 2); expect(flatCoordinates).to.eql([5, 6, 3, 4, 1, 2]); }); it('can reverse four flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 2); expect(flatCoordinates).to.eql([7, 8, 5, 6, 3, 4, 1, 2]); }); @@ -117,35 +117,35 @@ describe('ol.geom', function() { it('can reverse empty flat coordinates', function() { var flatCoordinates = []; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 3); expect(flatCoordinates).to.be.empty(); }); it('can reverse one flat coordinates', function() { var flatCoordinates = [1, 2, 3]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 3); expect(flatCoordinates).to.eql([1, 2, 3]); }); it('can reverse two flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 3); expect(flatCoordinates).to.eql([4, 5, 6, 1, 2, 3]); }); it('can reverse three flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 3); expect(flatCoordinates).to.eql([7, 8, 9, 4, 5, 6, 1, 2, 3]); }); it('can reverse four flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 3); expect(flatCoordinates).to.eql([10, 11, 12, 7, 8, 9, 4, 5, 6, 1, 2, 3]); }); @@ -156,28 +156,28 @@ describe('ol.geom', function() { it('can reverse empty flat coordinates', function() { var flatCoordinates = []; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 4); expect(flatCoordinates).to.be.empty(); }); it('can reverse one flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 4); expect(flatCoordinates).to.eql([1, 2, 3, 4]); }); it('can reverse two flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 4); expect(flatCoordinates).to.eql([5, 6, 7, 8, 1, 2, 3, 4]); }); it('can reverse three flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 4); expect(flatCoordinates).to.eql([9, 10, 11, 12, 5, 6, 7, 8, 1, 2, 3, 4]); }); @@ -185,7 +185,7 @@ describe('ol.geom', function() { it('can reverse four flat coordinates', function() { var flatCoordinates = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]; - ol.geom.reverseFlatCoordinates( + ol.geom.flat.reverseCoordinates( flatCoordinates, 0, flatCoordinates.length, 4); expect(flatCoordinates).to.eql( [13, 14, 15, 16, 9, 10, 11, 12, 5, 6, 7, 8, 1, 2, 3, 4]);