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:
@@ -1097,14 +1097,16 @@ class Modify extends PointerInteraction {
|
|||||||
for (let i = 1, ii = nodes.length; i < ii; ++i) {
|
for (let i = 1, ii = nodes.length; i < ii; ++i) {
|
||||||
const segment = nodes[i].segment;
|
const segment = nodes[i].segment;
|
||||||
if (
|
if (
|
||||||
((coordinatesEqual(closestSegment[0], segment[0]) &&
|
(coordinatesEqual(closestSegment[0], segment[0]) &&
|
||||||
coordinatesEqual(closestSegment[1], segment[1])) ||
|
coordinatesEqual(closestSegment[1], segment[1])) ||
|
||||||
(coordinatesEqual(closestSegment[0], segment[1]) &&
|
(coordinatesEqual(closestSegment[0], segment[1]) &&
|
||||||
coordinatesEqual(closestSegment[1], segment[0]))) &&
|
coordinatesEqual(closestSegment[1], segment[0]))
|
||||||
!(getUid(nodes[i].geometry) in geometries)
|
|
||||||
) {
|
) {
|
||||||
geometries[getUid(nodes[i].geometry)] = true;
|
const geometryUid = getUid(nodes[i].geometry);
|
||||||
vertexSegments[getUid(segment)] = true;
|
if (!(geometryUid in geometries)) {
|
||||||
|
geometries[geometryUid] = true;
|
||||||
|
vertexSegments[getUid(segment)] = true;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user