浏览代码

修复bug

xushiting 2 年之前
父节点
当前提交
50a37f6795
共有 3 个文件被更改,包括 17 次插入3 次删除
  1. 2 0
      src/graphic/Layer.js
  2. 10 2
      src/graphic/Renderer/Render.js
  3. 5 1
      src/graphic/Service/PointService.js

+ 2 - 0
src/graphic/Layer.js

@@ -976,6 +976,8 @@ export default class Layer {
           let vectorText = dataService.getText(draggingItem.vectorId);
           if (!vectorText.linkedPointId) {
             moveText.moveFullText(position, draggingItem.vectorId);
+          } else {
+            movePoint.movePoint(position, vectorText.linkedPointId);
           }
         }
         break;

+ 10 - 2
src/graphic/Renderer/Render.js

@@ -5,6 +5,8 @@ import { coordinate } from "../Coordinate.js";
 import { draw } from "./Draw.js";
 import { listenLayer } from "../ListenLayer.js";
 import Settings from "../Settings.js";
+import VectorStyle from "../enum/VectorStyle.js";
+import VectorCategory from "../enum/VectorCategory.js";
 
 export default class Render {
   constructor(layer) {
@@ -153,8 +155,14 @@ export default class Render {
     }
 
     const lines = dataService.getLines();
-    for (const key in lines) {
-      this.drawGeometry(lines[key]);
+    const sortLine = Object.keys(lines)
+      .map((key) => dataService.getLine(key))
+      .sort((line) =>
+        line.getCategory() == VectorCategory.Line.GuideLocationLine ? -1 : 1
+      );
+
+    for (const line of sortLine) {
+      this.drawGeometry(line);
     }
 
     const curveLines = dataService.getCurveLines();

+ 5 - 1
src/graphic/Service/PointService.js

@@ -66,7 +66,7 @@ export default class PointService {
     if (point) {
       const category = point.getCategory();
       if (category == VectorCategory.Point.NormalPoint) {
-        dataService.deletePoint(pointId); //暂时简单粗暴
+        this.deleteNormalPoint(pointId); //暂时简单粗暴
       } else if (category == VectorCategory.Point.BasePoint) {
         this.deleteBasePoint(pointId);
       } else if (category == VectorCategory.Point.TestBasePoint) {
@@ -89,6 +89,10 @@ export default class PointService {
 
   deleteNormalPoint(normalPointId) {
     let normalPoint = dataService.getPoint(normalPointId);
+    let parent = normalPoint.getParent();
+    for (let key in parent) {
+      dataService.deleteLine(key);
+    }
   }
 
   deleteBasePoint(basePointId) {