diff --git a/src/ol/geom/LineString.js b/src/ol/geom/LineString.js index a219e6e8a6..18d5c5ac2d 100644 --- a/src/ol/geom/LineString.js +++ b/src/ol/geom/LineString.js @@ -11,7 +11,7 @@ import {assignClosestPoint, maxSquaredDelta} from '../geom/flat/closest.js'; import {deflateCoordinates} from '../geom/flat/deflate.js'; import {inflateCoordinates} from '../geom/flat/inflate.js'; import {interpolatePoint, lineStringCoordinateAtM} from '../geom/flat/interpolate.js'; -import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js'; +import {intersectsLineString} from '../geom/flat/intersectsextent.js'; import {lineStringLength} from '../geom/flat/length.js'; import {forEach as forEachSegment} from '../geom/flat/segments.js'; import {douglasPeucker} from '../geom/flat/simplify.js'; @@ -229,7 +229,7 @@ LineString.prototype.getType = function() { * @api */ LineString.prototype.intersectsExtent = function(extent) { - return _ol_geom_flat_intersectsextent_.lineString( + return intersectsLineString( this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, extent); }; diff --git a/src/ol/geom/MultiLineString.js b/src/ol/geom/MultiLineString.js index dc6a07193f..93bacc6f60 100644 --- a/src/ol/geom/MultiLineString.js +++ b/src/ol/geom/MultiLineString.js @@ -12,7 +12,7 @@ import {assignClosestArrayPoint, arrayMaxSquaredDelta} from '../geom/flat/closes import {deflateCoordinatesArray} from '../geom/flat/deflate.js'; import {inflateCoordinatesArray} from '../geom/flat/inflate.js'; import {interpolatePoint, lineStringsCoordinateAtM} from '../geom/flat/interpolate.js'; -import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js'; +import {intersectsLineStringArray} from '../geom/flat/intersectsextent.js'; import {douglasPeuckerArray} from '../geom/flat/simplify.js'; /** @@ -247,7 +247,7 @@ MultiLineString.prototype.getType = function() { * @api */ MultiLineString.prototype.intersectsExtent = function(extent) { - return _ol_geom_flat_intersectsextent_.lineStrings( + return intersectsLineStringArray( this.flatCoordinates, 0, this.ends_, this.stride, extent); }; diff --git a/src/ol/geom/MultiPolygon.js b/src/ol/geom/MultiPolygon.js index 6c39b787cb..0a165505ec 100644 --- a/src/ol/geom/MultiPolygon.js +++ b/src/ol/geom/MultiPolygon.js @@ -16,7 +16,7 @@ import {linearRingssContainsXY} from '../geom/flat/contains.js'; import {deflateMultiCoordinatesArray} from '../geom/flat/deflate.js'; import {inflateMultiCoordinatesArray} from '../geom/flat/inflate.js'; import {getInteriorPointsOfMultiArray} from '../geom/flat/interiorpoint.js'; -import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js'; +import {intersectsLinearRingMultiArray} from '../geom/flat/intersectsextent.js'; import {linearRingsAreOriented, orientLinearRingsArray} from '../geom/flat/orient.js'; import {quantizeMultiArray} from '../geom/flat/simplify.js'; @@ -344,7 +344,7 @@ MultiPolygon.prototype.getType = function() { * @api */ MultiPolygon.prototype.intersectsExtent = function(extent) { - return _ol_geom_flat_intersectsextent_.linearRingss( + return intersectsLinearRingMultiArray( this.getOrientedFlatCoordinates(), 0, this.endss_, this.stride, extent); }; diff --git a/src/ol/geom/Polygon.js b/src/ol/geom/Polygon.js index 644d4eb8e8..50e7dfccc0 100644 --- a/src/ol/geom/Polygon.js +++ b/src/ol/geom/Polygon.js @@ -16,7 +16,7 @@ import {linearRingsContainsXY} from '../geom/flat/contains.js'; import {deflateCoordinatesArray} from '../geom/flat/deflate.js'; import {inflateCoordinatesArray} from '../geom/flat/inflate.js'; import {getInteriorPointOfArray} from '../geom/flat/interiorpoint.js'; -import _ol_geom_flat_intersectsextent_ from '../geom/flat/intersectsextent.js'; +import {intersectsLinearRingArray} from '../geom/flat/intersectsextent.js'; import {linearRingIsOriented, orientLinearRings} from '../geom/flat/orient.js'; import {quantizeArray} from '../geom/flat/simplify.js'; import {modulo} from '../math.js'; @@ -325,7 +325,7 @@ Polygon.prototype.getType = function() { * @api */ Polygon.prototype.intersectsExtent = function(extent) { - return _ol_geom_flat_intersectsextent_.linearRings( + return intersectsLinearRingArray( this.getOrientedFlatCoordinates(), 0, this.ends_, this.stride, extent); }; diff --git a/src/ol/geom/flat/intersectsextent.js b/src/ol/geom/flat/intersectsextent.js index e4dfb1f200..87bb8ea31b 100644 --- a/src/ol/geom/flat/intersectsextent.js +++ b/src/ol/geom/flat/intersectsextent.js @@ -4,7 +4,6 @@ import {containsExtent, createEmpty, extendFlatCoordinates, intersects, intersectsSegment} from '../../extent.js'; import {linearRingContainsXY, linearRingContainsExtent} from '../flat/contains.js'; import {forEach as forEachSegment} from '../flat/segments.js'; -const _ol_geom_flat_intersectsextent_ = {}; /** @@ -15,7 +14,7 @@ const _ol_geom_flat_intersectsextent_ = {}; * @param {ol.Extent} extent Extent. * @return {boolean} True if the geometry and the extent intersect. */ -_ol_geom_flat_intersectsextent_.lineString = function(flatCoordinates, offset, end, stride, extent) { +export function intersectsLineString(flatCoordinates, offset, end, stride, extent) { const coordinatesExtent = extendFlatCoordinates( createEmpty(), flatCoordinates, offset, end, stride); if (!intersects(extent, coordinatesExtent)) { @@ -42,7 +41,7 @@ _ol_geom_flat_intersectsextent_.lineString = function(flatCoordinates, offset, e function(point1, point2) { return intersectsSegment(extent, point1, point2); }); -}; +} /** @@ -53,16 +52,16 @@ _ol_geom_flat_intersectsextent_.lineString = function(flatCoordinates, offset, e * @param {ol.Extent} extent Extent. * @return {boolean} True if the geometry and the extent intersect. */ -_ol_geom_flat_intersectsextent_.lineStrings = function(flatCoordinates, offset, ends, stride, extent) { +export function intersectsLineStringArray(flatCoordinates, offset, ends, stride, extent) { for (let i = 0, ii = ends.length; i < ii; ++i) { - if (_ol_geom_flat_intersectsextent_.lineString( + if (intersectsLineString( flatCoordinates, offset, ends[i], stride, extent)) { return true; } offset = ends[i]; } return false; -}; +} /** @@ -73,8 +72,8 @@ _ol_geom_flat_intersectsextent_.lineStrings = function(flatCoordinates, offset, * @param {ol.Extent} extent Extent. * @return {boolean} True if the geometry and the extent intersect. */ -_ol_geom_flat_intersectsextent_.linearRing = function(flatCoordinates, offset, end, stride, extent) { - if (_ol_geom_flat_intersectsextent_.lineString( +export function intersectsLinearRing(flatCoordinates, offset, end, stride, extent) { + if (intersectsLineString( flatCoordinates, offset, end, stride, extent)) { return true; } @@ -91,7 +90,7 @@ _ol_geom_flat_intersectsextent_.linearRing = function(flatCoordinates, offset, e return true; } return false; -}; +} /** @@ -102,8 +101,8 @@ _ol_geom_flat_intersectsextent_.linearRing = function(flatCoordinates, offset, e * @param {ol.Extent} extent Extent. * @return {boolean} True if the geometry and the extent intersect. */ -_ol_geom_flat_intersectsextent_.linearRings = function(flatCoordinates, offset, ends, stride, extent) { - if (!_ol_geom_flat_intersectsextent_.linearRing( +export function intersectsLinearRingArray(flatCoordinates, offset, ends, stride, extent) { + if (!intersectsLinearRing( flatCoordinates, offset, ends[0], stride, extent)) { return false; } @@ -116,7 +115,7 @@ _ol_geom_flat_intersectsextent_.linearRings = function(flatCoordinates, offset, } } return true; -}; +} /** @@ -127,15 +126,14 @@ _ol_geom_flat_intersectsextent_.linearRings = function(flatCoordinates, offset, * @param {ol.Extent} extent Extent. * @return {boolean} True if the geometry and the extent intersect. */ -_ol_geom_flat_intersectsextent_.linearRingss = function(flatCoordinates, offset, endss, stride, extent) { +export function intersectsLinearRingMultiArray(flatCoordinates, offset, endss, stride, extent) { for (let i = 0, ii = endss.length; i < ii; ++i) { const ends = endss[i]; - if (_ol_geom_flat_intersectsextent_.linearRings( + if (intersectsLinearRingArray( flatCoordinates, offset, ends, stride, extent)) { return true; } offset = ends[ends.length - 1]; } return false; -}; -export default _ol_geom_flat_intersectsextent_; +} diff --git a/test/spec/ol/geom/flat/intersectsextent.test.js b/test/spec/ol/geom/flat/intersectsextent.test.js index ea7f7cd1c6..5daa17edcc 100644 --- a/test/spec/ol/geom/flat/intersectsextent.test.js +++ b/test/spec/ol/geom/flat/intersectsextent.test.js @@ -1,4 +1,4 @@ -import _ol_geom_flat_intersectsextent_ from '../../../../../src/ol/geom/flat/intersectsextent.js'; +import {intersectsLinearRing, intersectsLineString} from '../../../../../src/ol/geom/flat/intersectsextent.js'; describe('ol.geom.flat.intersectsextent', function() { @@ -11,7 +11,7 @@ describe('ol.geom.flat.intersectsextent', function() { describe('linestring envelope does not intersect the extent', function() { it('returns false', function() { const extent = [3, 3, 4, 4]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(false); }); @@ -19,7 +19,7 @@ describe('ol.geom.flat.intersectsextent', function() { describe('linestring envelope within the extent', function() { it('returns true', function() { const extent = [-1, -1, 3, 3]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(true); }); @@ -28,7 +28,7 @@ describe('ol.geom.flat.intersectsextent', function() { function() { it('returns true', function() { const extent = [-0.1, 0.1, 2.1, 0.1]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(true); }); @@ -36,7 +36,7 @@ describe('ol.geom.flat.intersectsextent', function() { describe('a segment intersects the extent', function() { it('returns true', function() { const extent = [-0.5, -0.5, 0.5, 0.5]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(true); }); @@ -44,13 +44,13 @@ describe('ol.geom.flat.intersectsextent', function() { describe('no segments intersect the extent', function() { it('returns false', function() { const extent = [0.5, 1.5, 1, 1.75]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(false); }); it('returns false', function() { const extent = [1, 0.25, 1.5, 0.5]; - const r = _ol_geom_flat_intersectsextent_.lineString( + const r = intersectsLineString( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(false); }); @@ -65,7 +65,7 @@ describe('ol.geom.flat.intersectsextent', function() { describe('boundary intersects the extent', function() { it('returns true', function() { const extent = [1.5, 0.0, 2.5, 1.0]; - const r = _ol_geom_flat_intersectsextent_.linearRing( + const r = intersectsLinearRing( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(true); }); @@ -75,7 +75,7 @@ describe('ol.geom.flat.intersectsextent', function() { function() { it('returns false', function() { const extent = [2.0, 0.5, 3, 1.5]; - const r = _ol_geom_flat_intersectsextent_.linearRing( + const r = intersectsLinearRing( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(false); }); @@ -83,7 +83,7 @@ describe('ol.geom.flat.intersectsextent', function() { describe('ring contains the extent', function() { it('returns true', function() { const extent = [0.75, -0.25, 1.25, 0.25]; - const r = _ol_geom_flat_intersectsextent_.linearRing( + const r = intersectsLinearRing( flatCoordinates, 0, flatCoordinates.length, 2, extent); expect(r).to.be(true); });