Remove no longer needed checks for coordinates.length

This commit is contained in:
Andreas Hocevar
2020-12-03 23:29:33 +01:00
parent 651c1aa6c4
commit ec53d4fc57
2 changed files with 89 additions and 98 deletions

View File

@@ -43,7 +43,6 @@ function addInteraction() {
} else if (value === 'Star') { } else if (value === 'Star') {
value = 'Circle'; value = 'Circle';
geometryFunction = function (coordinates, geometry) { geometryFunction = function (coordinates, geometry) {
if (coordinates.length) {
const center = coordinates[0]; const center = coordinates[0];
const last = coordinates[coordinates.length - 1]; const last = coordinates[coordinates.length - 1];
const dx = center[0] - last[0]; const dx = center[0] - last[0];
@@ -66,7 +65,6 @@ function addInteraction() {
geometry.setCoordinates([newCoordinates]); geometry.setCoordinates([newCoordinates]);
} }
return geometry; return geometry;
}
}; };
} }
draw = new Draw({ draw = new Draw({

View File

@@ -59,7 +59,8 @@ import {squaredDistance as squaredCoordinateDistance} from '../coordinate.js';
* polygon rings and `2` for line strings. * polygon rings and `2` for line strings.
* @property {import("../events/condition.js").Condition} [finishCondition] A function * @property {import("../events/condition.js").Condition} [finishCondition] A function
* that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a * that takes an {@link module:ol/MapBrowserEvent~MapBrowserEvent} and returns a
* boolean to indicate whether the drawing can be finished. * boolean to indicate whether the drawing can be finished. Not used when drawing
* POINT or MULTI_POINT geometries.
* @property {import("../style/Style.js").StyleLike} [style] * @property {import("../style/Style.js").StyleLike} [style]
* Style for sketch features. * Style for sketch features.
* @property {GeometryFunction} [geometryFunction] * @property {GeometryFunction} [geometryFunction]
@@ -317,17 +318,13 @@ class Draw extends PointerInteraction {
* @return {import("../geom/SimpleGeometry.js").default} A geometry. * @return {import("../geom/SimpleGeometry.js").default} A geometry.
*/ */
geometryFunction = function (coordinates, geometry, projection) { geometryFunction = function (coordinates, geometry, projection) {
if (coordinates.length) {
const circle = geometry const circle = geometry
? /** @type {Circle} */ (geometry) ? /** @type {Circle} */ (geometry)
: new Circle([NaN, NaN]); : new Circle([NaN, NaN]);
const center = fromUserCoordinate(coordinates[0], projection); const center = fromUserCoordinate(coordinates[0], projection);
const squaredLength = squaredCoordinateDistance( const squaredLength = squaredCoordinateDistance(
center, center,
fromUserCoordinate( fromUserCoordinate(coordinates[coordinates.length - 1], projection)
coordinates[coordinates.length - 1],
projection
)
); );
circle.setCenterAndRadius(center, Math.sqrt(squaredLength)); circle.setCenterAndRadius(center, Math.sqrt(squaredLength));
const userProjection = getUserProjection(); const userProjection = getUserProjection();
@@ -335,7 +332,6 @@ class Draw extends PointerInteraction {
circle.transform(projection, userProjection); circle.transform(projection, userProjection);
} }
return circle; return circle;
}
}; };
} else { } else {
let Constructor; let Constructor;
@@ -895,7 +891,8 @@ class Draw extends PointerInteraction {
} }
/** /**
* Remove last point of the feature currently being drawn. * Remove last point of the feature currently being drawn. Does not do anything when
* drawing POINT or MULTI_POINT geometries.
* @api * @api
*/ */
removeLastPoint() { removeLastPoint() {
@@ -1150,7 +1147,6 @@ function getDefaultStyleFunction() {
*/ */
export function createRegularPolygon(opt_sides, opt_angle) { export function createRegularPolygon(opt_sides, opt_angle) {
return function (coordinates, opt_geometry, projection) { return function (coordinates, opt_geometry, projection) {
if (coordinates.length) {
const center = fromUserCoordinate( const center = fromUserCoordinate(
/** @type {LineCoordType} */ (coordinates)[0], /** @type {LineCoordType} */ (coordinates)[0],
projection projection
@@ -1177,7 +1173,6 @@ export function createRegularPolygon(opt_sides, opt_angle) {
geometry.transform(projection, userProjection); geometry.transform(projection, userProjection);
} }
return geometry; return geometry;
}
}; };
} }
@@ -1190,7 +1185,6 @@ export function createRegularPolygon(opt_sides, opt_angle) {
*/ */
export function createBox() { export function createBox() {
return function (coordinates, opt_geometry, projection) { return function (coordinates, opt_geometry, projection) {
if (coordinates.length) {
const extent = boundingExtent( const extent = boundingExtent(
/** @type {LineCoordType} */ ([ /** @type {LineCoordType} */ ([
coordinates[0], coordinates[0],
@@ -1219,7 +1213,6 @@ export function createBox() {
geometry.transform(projection, userProjection); geometry.transform(projection, userProjection);
} }
return geometry; return geometry;
}
}; };
} }