ol/geom/flat/deflate exports

This commit is contained in:
raiyni
2018-02-12 23:18:53 -06:00
parent fd78aa9798
commit fb548b1b45
11 changed files with 31 additions and 33 deletions

View File

@@ -16,7 +16,7 @@ import MultiPoint from '../geom/MultiPoint.js';
import MultiPolygon from '../geom/MultiPolygon.js';
import Point from '../geom/Point.js';
import Polygon from '../geom/Polygon.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinates} from '../geom/flat/deflate.js';
import _ol_geom_flat_orient_ from '../geom/flat/orient.js';
import {assign, isEmpty} from '../obj.js';
import {get as getProjection} from '../proj.js';
@@ -132,7 +132,7 @@ function convertRings(rings, layout) {
let i, ii;
for (i = 0, ii = rings.length; i < ii; ++i) {
flatRing.length = 0;
_ol_geom_flat_deflate_.coordinates(flatRing, 0, rings[i], layout.length);
deflateCoordinates(flatRing, 0, rings[i], layout.length);
// is this ring an outer ring? is it clockwise?
const clockwise = _ol_geom_flat_orient_.linearRingIsClockwise(flatRing, 0,
flatRing.length, layout.length);

View File

@@ -6,7 +6,7 @@ import {createOrUpdate, forEachCorner, intersects} from '../extent.js';
import GeometryLayout from '../geom/GeometryLayout.js';
import GeometryType from '../geom/GeometryType.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinate} from '../geom/flat/deflate.js';
/**
* @classdesc
@@ -192,7 +192,7 @@ Circle.prototype.setCenterAndRadius = function(center, radius, opt_layout) {
}
/** @type {Array.<number>} */
const flatCoordinates = this.flatCoordinates;
let offset = _ol_geom_flat_deflate_.coordinate(
let offset = deflateCoordinate(
flatCoordinates, 0, center, this.stride);
flatCoordinates[offset++] = flatCoordinates[0] + radius;
for (let i = 1, ii = this.stride; i < ii; ++i) {

View File

@@ -8,7 +8,7 @@ import GeometryLayout from '../geom/GeometryLayout.js';
import GeometryType from '../geom/GeometryType.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import _ol_geom_flat_closest_ from '../geom/flat/closest.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinates} from '../geom/flat/deflate.js';
import {inflateCoordinates} from '../geom/flat/inflate.js';
import _ol_geom_flat_interpolate_ from '../geom/flat/interpolate.js';
import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js';
@@ -250,7 +250,7 @@ LineString.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
this.flatCoordinates.length = _ol_geom_flat_deflate_.coordinates(
this.flatCoordinates.length = deflateCoordinates(
this.flatCoordinates, 0, coordinates, this.stride);
this.changed();
}

View File

@@ -8,7 +8,7 @@ import GeometryType from '../geom/GeometryType.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import {linearRing as linearRingArea} from '../geom/flat/area.js';
import _ol_geom_flat_closest_ from '../geom/flat/closest.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinates} from '../geom/flat/deflate.js';
import {inflateCoordinates} from '../geom/flat/inflate.js';
import _ol_geom_flat_simplify_ from '../geom/flat/simplify.js';
@@ -144,7 +144,7 @@ LinearRing.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
this.flatCoordinates.length = _ol_geom_flat_deflate_.coordinates(
this.flatCoordinates.length = deflateCoordinates(
this.flatCoordinates, 0, coordinates, this.stride);
this.changed();
}

View File

@@ -9,7 +9,7 @@ import GeometryType from '../geom/GeometryType.js';
import LineString from '../geom/LineString.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import _ol_geom_flat_closest_ from '../geom/flat/closest.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinatesArray} from '../geom/flat/deflate.js';
import {inflateCoordinatesArray} from '../geom/flat/inflate.js';
import _ol_geom_flat_interpolate_ from '../geom/flat/interpolate.js';
import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js';
@@ -267,7 +267,7 @@ MultiLineString.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
const ends = _ol_geom_flat_deflate_.coordinatess(
const ends = deflateCoordinatesArray(
this.flatCoordinates, 0, coordinates, this.stride, this.ends_);
this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];
this.changed();

View File

@@ -8,7 +8,7 @@ import GeometryLayout from '../geom/GeometryLayout.js';
import GeometryType from '../geom/GeometryType.js';
import Point from '../geom/Point.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinates} from '../geom/flat/deflate.js';
import {inflateCoordinates} from '../geom/flat/inflate.js';
import {squaredDistance as squaredDx} from '../math.js';
@@ -174,7 +174,7 @@ MultiPoint.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
this.flatCoordinates.length = _ol_geom_flat_deflate_.coordinates(
this.flatCoordinates.length = deflateCoordinates(
this.flatCoordinates, 0, coordinates, this.stride);
this.changed();
}

View File

@@ -13,7 +13,7 @@ import {linearRingss as linearRingssArea} from '../geom/flat/area.js';
import {linearRingss as linearRingssCenter} from '../geom/flat/center.js';
import _ol_geom_flat_closest_ from '../geom/flat/closest.js';
import {linearRingssContainsXY} from '../geom/flat/contains.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateMultiCoordinatesArray} from '../geom/flat/deflate.js';
import {inflateMultiCoordinatesArray} from '../geom/flat/inflate.js';
import _ol_geom_flat_interiorpoint_ from '../geom/flat/interiorpoint.js';
import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js';
@@ -364,7 +364,7 @@ MultiPolygon.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
const endss = _ol_geom_flat_deflate_.coordinatesss(
const endss = deflateMultiCoordinatesArray(
this.flatCoordinates, 0, coordinates, this.stride, this.endss_);
if (endss.length === 0) {
this.flatCoordinates.length = 0;

View File

@@ -6,7 +6,7 @@ import {createOrUpdateFromCoordinate, containsXY} from '../extent.js';
import GeometryLayout from '../geom/GeometryLayout.js';
import GeometryType from '../geom/GeometryType.js';
import SimpleGeometry from '../geom/SimpleGeometry.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinate} from '../geom/flat/deflate.js';
import {squaredDistance as squaredDx} from '../math.js';
/**
@@ -108,7 +108,7 @@ Point.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
this.flatCoordinates.length = _ol_geom_flat_deflate_.coordinate(
this.flatCoordinates.length = deflateCoordinate(
this.flatCoordinates, 0, coordinates, this.stride);
this.changed();
}

View File

@@ -13,7 +13,7 @@ import {offset as sphereOffset} from '../sphere.js';
import {linearRings as linearRingsArea} from '../geom/flat/area.js';
import _ol_geom_flat_closest_ from '../geom/flat/closest.js';
import {linearRingsContainsXY} from '../geom/flat/contains.js';
import _ol_geom_flat_deflate_ from '../geom/flat/deflate.js';
import {deflateCoordinatesArray} from '../geom/flat/deflate.js';
import {inflateCoordinatesArray} from '../geom/flat/inflate.js';
import _ol_geom_flat_interiorpoint_ from '../geom/flat/interiorpoint.js';
import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js';
@@ -345,7 +345,7 @@ Polygon.prototype.setCoordinates = function(coordinates, opt_layout) {
if (!this.flatCoordinates) {
this.flatCoordinates = [];
}
const ends = _ol_geom_flat_deflate_.coordinatess(
const ends = deflateCoordinatesArray(
this.flatCoordinates, 0, coordinates, this.stride, this.ends_);
this.flatCoordinates.length = ends.length === 0 ? 0 : ends[ends.length - 1];
this.changed();

View File

@@ -1,7 +1,6 @@
/**
* @module ol/geom/flat/deflate
*/
const _ol_geom_flat_deflate_ = {};
/**
@@ -11,12 +10,12 @@ const _ol_geom_flat_deflate_ = {};
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
_ol_geom_flat_deflate_.coordinate = function(flatCoordinates, offset, coordinate, stride) {
export function deflateCoordinate(flatCoordinates, offset, coordinate, stride) {
for (let i = 0, ii = coordinate.length; i < ii; ++i) {
flatCoordinates[offset++] = coordinate[i];
}
return offset;
};
}
/**
@@ -26,7 +25,7 @@ _ol_geom_flat_deflate_.coordinate = function(flatCoordinates, offset, coordinate
* @param {number} stride Stride.
* @return {number} offset Offset.
*/
_ol_geom_flat_deflate_.coordinates = function(flatCoordinates, offset, coordinates, stride) {
export function deflateCoordinates(flatCoordinates, offset, coordinates, stride) {
for (let i = 0, ii = coordinates.length; i < ii; ++i) {
const coordinate = coordinates[i];
for (let j = 0; j < stride; ++j) {
@@ -34,7 +33,7 @@ _ol_geom_flat_deflate_.coordinates = function(flatCoordinates, offset, coordinat
}
}
return offset;
};
}
/**
@@ -45,18 +44,18 @@ _ol_geom_flat_deflate_.coordinates = function(flatCoordinates, offset, coordinat
* @param {Array.<number>=} opt_ends Ends.
* @return {Array.<number>} Ends.
*/
_ol_geom_flat_deflate_.coordinatess = function(flatCoordinates, offset, coordinatess, stride, opt_ends) {
export function deflateCoordinatesArray(flatCoordinates, offset, coordinatess, stride, opt_ends) {
const ends = opt_ends ? opt_ends : [];
let i = 0;
for (let j = 0, jj = coordinatess.length; j < jj; ++j) {
const end = _ol_geom_flat_deflate_.coordinates(
const end = deflateCoordinates(
flatCoordinates, offset, coordinatess[j], stride);
ends[i++] = end;
offset = end;
}
ends.length = i;
return ends;
};
}
/**
@@ -67,16 +66,15 @@ _ol_geom_flat_deflate_.coordinatess = function(flatCoordinates, offset, coordina
* @param {Array.<Array.<number>>=} opt_endss Endss.
* @return {Array.<Array.<number>>} Endss.
*/
_ol_geom_flat_deflate_.coordinatesss = function(flatCoordinates, offset, coordinatesss, stride, opt_endss) {
export function deflateMultiCoordinatesArray(flatCoordinates, offset, coordinatesss, stride, opt_endss) {
const endss = opt_endss ? opt_endss : [];
let i = 0;
for (let j = 0, jj = coordinatesss.length; j < jj; ++j) {
const ends = _ol_geom_flat_deflate_.coordinatess(
const ends = deflateCoordinatesArray(
flatCoordinates, offset, coordinatesss[j], stride, endss[i]);
endss[i++] = ends;
offset = ends[ends.length - 1];
}
endss.length = i;
return endss;
};
export default _ol_geom_flat_deflate_;
}

View File

@@ -1,4 +1,4 @@
import _ol_geom_flat_deflate_ from '../../../../../src/ol/geom/flat/deflate.js';
import {deflateCoordinates, deflateCoordinatesArray} from '../../../../../src/ol/geom/flat/deflate.js';
describe('ol.geom.flat.deflate', function() {
@@ -11,7 +11,7 @@ describe('ol.geom.flat.deflate', function() {
});
it('flattens coordinates', function() {
const offset = _ol_geom_flat_deflate_.coordinates(
const offset = deflateCoordinates(
flatCoordinates, 0, [[1, 2], [3, 4]], 2);
expect(offset).to.be(4);
expect(flatCoordinates).to.eql([1, 2, 3, 4]);
@@ -27,7 +27,7 @@ describe('ol.geom.flat.deflate', function() {
});
it('flattens arrays of coordinates', function() {
const ends = _ol_geom_flat_deflate_.coordinatess(flatCoordinates, 0,
const ends = deflateCoordinatesArray(flatCoordinates, 0,
[[[1, 2], [3, 4]], [[5, 6], [7, 8]]], 2);
expect(ends).to.eql([4, 8]);
expect(flatCoordinates).to.eql([1, 2, 3, 4, 5, 6, 7, 8]);