Browse Source

hide n-1 point if distance is less than threshold

Aakansha Doshi 3 years ago
parent
commit
330b3a0530
1 changed files with 6 additions and 5 deletions
  1. 6 5
      src/element/linearElementEditor.ts

+ 6 - 5
src/element/linearElementEditor.ts

@@ -437,11 +437,12 @@ export class LinearElementEditor {
           appState.zoom.value;
           appState.zoom.value;
       }
       }
       const isExtremePoint = index === 0 || index === element.points.length - 1;
       const isExtremePoint = index === 0 || index === element.points.length - 1;
-      if (
-        editingLinearElement ||
-        isExtremePoint ||
-        distance >= 2 * LinearElementEditor.POINT_HANDLE_SIZE
-      ) {
+      const threshold = 2 * LinearElementEditor.POINT_HANDLE_SIZE;
+      if (editingLinearElement || isExtremePoint || distance >= threshold) {
+        // hide n-1 point if distance is less than threshold
+        if (isExtremePoint && distance < threshold) {
+          visiblePointIndexes.pop();
+        }
         visiblePointIndexes.push(index);
         visiblePointIndexes.push(index);
         previousPoint = point;
         previousPoint = point;
       }
       }