Fixes Modify vertex insertion with duplicate segments

If one feature has duplicate segments it prevented insertion for other
features with the same segment.
This commit is contained in:
Maximilian Krög
2020-12-06 15:25:31 +01:00
parent 190b20ebce
commit c4dd6e6b04

View File

@@ -1097,14 +1097,16 @@ class Modify extends PointerInteraction {
for (let i = 1, ii = nodes.length; i < ii; ++i) {
const segment = nodes[i].segment;
if (
((coordinatesEqual(closestSegment[0], segment[0]) &&
(coordinatesEqual(closestSegment[0], segment[0]) &&
coordinatesEqual(closestSegment[1], segment[1])) ||
(coordinatesEqual(closestSegment[0], segment[1]) &&
coordinatesEqual(closestSegment[1], segment[0]))) &&
!(getUid(nodes[i].geometry) in geometries)
(coordinatesEqual(closestSegment[0], segment[1]) &&
coordinatesEqual(closestSegment[1], segment[0]))
) {
geometries[getUid(nodes[i].geometry)] = true;
vertexSegments[getUid(segment)] = true;
const geometryUid = getUid(nodes[i].geometry);
if (!(geometryUid in geometries)) {
geometries[geometryUid] = true;
vertexSegments[getUid(segment)] = true;
}
} else {
break;
}