Move inflateCoordinates into ol.geom.flat

This commit is contained in:
Tom Payne
2013-11-12 12:22:29 +01:00
parent dc1ad7bb83
commit 16e5f238d2
8 changed files with 80 additions and 80 deletions

View File

@@ -74,6 +74,76 @@ ol.geom.flat.deflateCoordinatesss =
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array.<ol.Coordinate>=} opt_coordinates Coordinates.
* @return {Array.<ol.Coordinate>} Coordinates.
*/
ol.geom.flat.inflateCoordinates =
function(flatCoordinates, offset, end, stride, opt_coordinates) {
var coordinates = goog.isDef(opt_coordinates) ? opt_coordinates : [];
var i = 0;
var j;
for (j = offset; j < end; j += stride) {
coordinates[i++] = flatCoordinates.slice(j, j + stride);
}
coordinates.length = i;
return coordinates;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array.<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array.<Array.<ol.Coordinate>>=} opt_coordinatess Coordinatess.
* @return {Array.<Array.<ol.Coordinate>>} Coordinatess.
*/
ol.geom.flat.inflateCoordinatess =
function(flatCoordinates, offset, ends, stride, opt_coordinatess) {
var coordinatess = goog.isDef(opt_coordinatess) ? opt_coordinatess : [];
var i = 0;
var j, jj;
for (j = 0, jj = ends.length; j < jj; ++j) {
var end = ends[j];
coordinatess[i++] = ol.geom.flat.inflateCoordinates(
flatCoordinates, offset, end, stride, coordinatess[i]);
offset = end;
}
coordinatess.length = i;
return coordinatess;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array.<Array.<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array.<Array.<Array.<ol.Coordinate>>>=} opt_coordinatesss
* Coordinatesss.
* @return {Array.<Array.<Array.<ol.Coordinate>>>} Coordinatesss.
*/
ol.geom.flat.inflateCoordinatesss =
function(flatCoordinates, offset, endss, stride, opt_coordinatesss) {
var coordinatesss = goog.isDef(opt_coordinatesss) ? opt_coordinatesss : [];
var i = 0;
var j, jj;
for (j = 0, jj = endss.length; j < jj; ++j) {
var ends = endss[j];
coordinatesss[i++] = ol.geom.flat.inflateCoordinatess(
flatCoordinates, offset, ends, stride, coordinatesss[i]);
offset = ends[ends.length - 1];
}
coordinatesss.length = i;
return coordinatesss;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} stride Stride.

View File

@@ -374,76 +374,6 @@ ol.geom.flatLinearRingssContainsXY =
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {number} end End.
* @param {number} stride Stride.
* @param {Array.<ol.Coordinate>=} opt_coordinates Coordinates.
* @return {Array.<ol.Coordinate>} Coordinates.
*/
ol.geom.inflateCoordinates =
function(flatCoordinates, offset, end, stride, opt_coordinates) {
var coordinates = goog.isDef(opt_coordinates) ? opt_coordinates : [];
var i = 0;
var j;
for (j = offset; j < end; j += stride) {
coordinates[i++] = flatCoordinates.slice(j, j + stride);
}
coordinates.length = i;
return coordinates;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array.<number>} ends Ends.
* @param {number} stride Stride.
* @param {Array.<Array.<ol.Coordinate>>=} opt_coordinatess Coordinatess.
* @return {Array.<Array.<ol.Coordinate>>} Coordinatess.
*/
ol.geom.inflateCoordinatess =
function(flatCoordinates, offset, ends, stride, opt_coordinatess) {
var coordinatess = goog.isDef(opt_coordinatess) ? opt_coordinatess : [];
var i = 0;
var j, jj;
for (j = 0, jj = ends.length; j < jj; ++j) {
var end = ends[j];
coordinatess[i++] = ol.geom.inflateCoordinates(
flatCoordinates, offset, end, stride, coordinatess[i]);
offset = end;
}
coordinatess.length = i;
return coordinatess;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array.<Array.<number>>} endss Endss.
* @param {number} stride Stride.
* @param {Array.<Array.<Array.<ol.Coordinate>>>=} opt_coordinatesss
* Coordinatesss.
* @return {Array.<Array.<Array.<ol.Coordinate>>>} Coordinatesss.
*/
ol.geom.inflateCoordinatesss =
function(flatCoordinates, offset, endss, stride, opt_coordinatesss) {
var coordinatesss = goog.isDef(opt_coordinatesss) ? opt_coordinatesss : [];
var i = 0;
var j, jj;
for (j = 0, jj = endss.length; j < jj; ++j) {
var ends = endss[j];
coordinatesss[i++] = ol.geom.inflateCoordinatess(
flatCoordinates, offset, ends, stride, coordinatesss[i]);
offset = ends[ends.length - 1];
}
coordinatesss.length = i;
return coordinatesss;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.

View File

@@ -22,7 +22,7 @@ goog.inherits(ol.geom.LineString, ol.geom.Geometry);
* @return {ol.geom.RawLineString} Coordinates.
*/
ol.geom.LineString.prototype.getCoordinates = function() {
return ol.geom.inflateCoordinates(
return ol.geom.flat.inflateCoordinates(
this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);
};

View File

@@ -31,7 +31,7 @@ goog.inherits(ol.geom.MultiLineString, ol.geom.Geometry);
* @return {ol.geom.RawMultiLineString} Coordinates.
*/
ol.geom.MultiLineString.prototype.getCoordinates = function() {
return ol.geom.inflateCoordinatess(
return ol.geom.flat.inflateCoordinatess(
this.flatCoordinates, 0, this.ends_, this.stride);
};

View File

@@ -22,7 +22,7 @@ goog.inherits(ol.geom.MultiPoint, ol.geom.Geometry);
* @return {ol.geom.RawMultiPoint} Coordinates.
*/
ol.geom.MultiPoint.prototype.getCoordinates = function() {
return ol.geom.inflateCoordinates(
return ol.geom.flat.inflateCoordinates(
this.flatCoordinates, 0, this.flatCoordinates.length, this.stride);
};

View File

@@ -40,7 +40,7 @@ ol.geom.MultiPolygon.prototype.containsXY = function(x, y) {
* @return {ol.geom.RawMultiPolygon} Coordinates.
*/
ol.geom.MultiPolygon.prototype.getCoordinates = function() {
return ol.geom.inflateCoordinatesss(
return ol.geom.flat.inflateCoordinatesss(
this.flatCoordinates, 0, this.endss_, this.stride);
};

View File

@@ -40,7 +40,7 @@ ol.geom.Polygon.prototype.containsXY = function(x, y) {
* @return {ol.geom.RawPolygon} Coordinates.
*/
ol.geom.Polygon.prototype.getCoordinates = function() {
return ol.geom.inflateCoordinatess(
return ol.geom.flat.inflateCoordinatess(
this.flatCoordinates, 0, this.ends_, this.stride);
};

View File

@@ -35,20 +35,20 @@ describe('ol.geom', function() {
});
describe('ol.geom.inflateCoordinates', function() {
describe('ol.geom.flat.inflateCoordinates', function() {
it('inflates coordinates', function() {
var coordinates = ol.geom.inflateCoordinates([1, 2, 3, 4], 0, 4, 2);
var coordinates = ol.geom.flat.inflateCoordinates([1, 2, 3, 4], 0, 4, 2);
expect(coordinates).to.eql([[1, 2], [3, 4]]);
});
});
describe('ol.geom.inflateCoordinatess', function() {
describe('ol.geom.flat.inflateCoordinatess', function() {
it('inflates arrays of coordinates', function() {
var coordinatess = ol.geom.inflateCoordinatess([1, 2, 3, 4, 5, 6, 7, 8],
0, [4, 8], 2);
var coordinatess = ol.geom.flat.inflateCoordinatess(
[1, 2, 3, 4, 5, 6, 7, 8], 0, [4, 8], 2);
expect(coordinatess).to.eql([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]);
});