Rename defaultSort to numberSafeCompareFunction on ol.array
This commit is contained in:
@@ -38,13 +38,13 @@ ol.array.binaryFindNearest = function(arr, target) {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default compare for array sort, will make sure number sort works okay.
|
* Compare function for array sort that is safe for numbers.
|
||||||
* @param {*} a The first object to be compared.
|
* @param {*} a The first object to be compared.
|
||||||
* @param {*} b The second object to be compared.
|
* @param {*} b The second object to be compared.
|
||||||
* @return {number} A negative number, zero, or a positive number as the first
|
* @return {number} A negative number, zero, or a positive number as the first
|
||||||
* argument is less than, equal to, or greater than the second.
|
* argument is less than, equal to, or greater than the second.
|
||||||
*/
|
*/
|
||||||
ol.array.defaultCompare = function(a, b) {
|
ol.array.numberSafeCompareFunction = function(a, b) {
|
||||||
return a > b ? 1 : a < b ? -1 : 0;
|
return a > b ? 1 : a < b ? -1 : 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ ol.geom.flat.interiorpoint.linearRings = function(flatCoordinates, offset,
|
|||||||
// inside the linear ring.
|
// inside the linear ring.
|
||||||
var pointX = NaN;
|
var pointX = NaN;
|
||||||
var maxSegmentLength = -Infinity;
|
var maxSegmentLength = -Infinity;
|
||||||
intersections.sort(ol.array.defaultCompare);
|
intersections.sort(ol.array.numberSafeCompareFunction);
|
||||||
x1 = intersections[0];
|
x1 = intersections[0];
|
||||||
for (i = 1, ii = intersections.length; i < ii; ++i) {
|
for (i = 1, ii = intersections.length; i < ii; ++i) {
|
||||||
x2 = intersections[i];
|
x2 = intersections[i];
|
||||||
|
|||||||
@@ -722,7 +722,7 @@ ol.render.canvas.Immediate.prototype.drawText = goog.abstractMethod;
|
|||||||
ol.render.canvas.Immediate.prototype.flush = function() {
|
ol.render.canvas.Immediate.prototype.flush = function() {
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(this.callbacksByZIndex_).map(Number);
|
var zs = Object.keys(this.callbacksByZIndex_).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var i, ii, callbacks, j, jj;
|
var i, ii, callbacks, j, jj;
|
||||||
for (i = 0, ii = zs.length; i < ii; ++i) {
|
for (i = 0, ii = zs.length; i < ii; ++i) {
|
||||||
callbacks = this.callbacksByZIndex_[zs[i].toString()];
|
callbacks = this.callbacksByZIndex_[zs[i].toString()];
|
||||||
|
|||||||
@@ -2001,7 +2001,7 @@ ol.render.canvas.ReplayGroup.prototype.replay = function(
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(this.replaysByZIndex_).map(Number);
|
var zs = Object.keys(this.replaysByZIndex_).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
|
|
||||||
// setup clipping so that the parts of over-simplified geometries are not
|
// setup clipping so that the parts of over-simplified geometries are not
|
||||||
// visible outside the current extent when panning
|
// visible outside the current extent when panning
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ goog.inherits(ol.render.webgl.Immediate, ol.render.VectorContext);
|
|||||||
ol.render.webgl.Immediate.prototype.flush = function() {
|
ol.render.webgl.Immediate.prototype.flush = function() {
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(this.callbacksByZIndex_).map(Number);
|
var zs = Object.keys(this.callbacksByZIndex_).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var i, ii, callbacks, j, jj;
|
var i, ii, callbacks, j, jj;
|
||||||
for (i = 0, ii = zs.length; i < ii; ++i) {
|
for (i = 0, ii = zs.length; i < ii; ++i) {
|
||||||
callbacks = this.callbacksByZIndex_[zs[i].toString()];
|
callbacks = this.callbacksByZIndex_[zs[i].toString()];
|
||||||
|
|||||||
@@ -365,7 +365,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var opaque = tileSource.getOpaque();
|
var opaque = tileSource.getOpaque();
|
||||||
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
|
||||||
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
[z, canvasTileRange.minX, canvasTileRange.maxY],
|
||||||
|
|||||||
@@ -406,7 +406,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.prepareFrame =
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var replayables = [];
|
var replayables = [];
|
||||||
var i, ii, currentZ, tileCoordKey, tilesToDraw;
|
var i, ii, currentZ, tileCoordKey, tilesToDraw;
|
||||||
for (i = 0, ii = zs.length; i < ii; ++i) {
|
for (i = 0, ii = zs.length; i < ii; ++i) {
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
|
|
||||||
/** @type {Object.<number, boolean>} */
|
/** @type {Object.<number, boolean>} */
|
||||||
var newTileLayerZKeys = {};
|
var newTileLayerZKeys = {};
|
||||||
@@ -204,7 +204,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var tileLayerZKeys = Object.keys(this.tileLayerZs_).map(Number);
|
var tileLayerZKeys = Object.keys(this.tileLayerZs_).map(Number);
|
||||||
tileLayerZKeys.sort(ol.array.defaultCompare);
|
tileLayerZKeys.sort(ol.array.numberSafeCompareFunction);
|
||||||
|
|
||||||
var i, ii, j, origin, resolution;
|
var i, ii, j, origin, resolution;
|
||||||
var transform = goog.vec.Mat4.createNumber();
|
var transform = goog.vec.Mat4.createNumber();
|
||||||
|
|||||||
@@ -297,7 +297,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
|
|||||||
|
|
||||||
/** @type {Array.<number>} */
|
/** @type {Array.<number>} */
|
||||||
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
var zs = Object.keys(tilesToDrawByZ).map(Number);
|
||||||
zs.sort(ol.array.defaultCompare);
|
zs.sort(ol.array.numberSafeCompareFunction);
|
||||||
var u_tileOffset = goog.vec.Vec4.createFloat32();
|
var u_tileOffset = goog.vec.Vec4.createFloat32();
|
||||||
var i, ii, sx, sy, tileKey, tilesToDraw, tx, ty;
|
var i, ii, sx, sy, tileKey, tilesToDraw, tx, ty;
|
||||||
for (i = 0, ii = zs.length; i < ii; ++i) {
|
for (i = 0, ii = zs.length; i < ii; ++i) {
|
||||||
|
|||||||
@@ -2,13 +2,12 @@ goog.provide('ol.test.array');
|
|||||||
|
|
||||||
describe('ol.array', function() {
|
describe('ol.array', function() {
|
||||||
|
|
||||||
describe('defaultCompare', function() {
|
describe('numberSafeCompareFunction', function() {
|
||||||
it('sorts as expected', function() {
|
it('sorts as expected', function() {
|
||||||
var arr = [40, 200, 3000];
|
var arr = [40, 200, 3000];
|
||||||
var expected = [40, 200, 3000];
|
|
||||||
// default sort would yield [200, 3000, 40]
|
// default sort would yield [200, 3000, 40]
|
||||||
arr.sort(ol.array.defaultCompare);
|
arr.sort(ol.array.numberSafeCompareFunction);
|
||||||
expect(arr).to.eql(expected);
|
expect(arr).to.eql(arr);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user