xushiting %!s(int64=2) %!d(string=hai) anos
pai
achega
e8121b287d
Modificáronse 2 ficheiros con 82 adicións e 161 borrados
  1. 3 1
      src/graphic/Load.js
  2. 79 160
      src/graphic/Service/EdgeService.js

+ 3 - 1
src/graphic/Load.js

@@ -141,7 +141,7 @@ export default class Load {
               this.getXY(width, height, data3d.measures[i].pos[1]),
               VectorCategory.Line.MeasureLine
             );
-            line.value = data3d.measures[i].dis
+            line.value = data3d.measures[i].dis;
           }
         }
         if (data3d.basePoints) {
@@ -178,6 +178,8 @@ export default class Load {
 
   save() {
     dataService.vectorData.res = coordinate.getRes();
+    dataService.vectorData.scale =
+      dataService.vectorData.res / (coordinate.zoom / coordinate.defaultZoom);
     return dataService.vectorData;
   }
 

+ 79 - 160
src/graphic/Service/EdgeService.js

@@ -477,51 +477,30 @@ export default class EdgeService {
         // console.log("情况1");
         mathUtil.clonePoint(leftEdge1.start, newEdgePoint1);
         mathUtil.clonePoint(rightEdge2.start, newEdgePoint1);
-        //要删除控制点
-        dataService.deleteCrossPoint(leftEdge1.vectorId, rightEdge2.vectorId);
-        //不能按照下面的方式计算,因为一个edge可以属于两个控制点,毕竟有两个端点
-        // dataService.deleteCrossPointForEdge(leftEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(leftEdge1.vectorId, rightEdge2.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint1,
-            startPoint1,
-            newEdgePoint1,
-            leftEdge1,
-            rightEdge2,
-            "start",
-            "start"
-          );
 
-          //需要删除之前的控制点,包含:leftEdge1.vectorId和rightEdge2.vectorId
-        }
+        crossPointService.update(
+          newEdgePoint1,
+          startPoint1,
+          newEdgePoint1,
+          leftEdge1,
+          rightEdge2,
+          "start",
+          "start"
+        );
       } else {
         // console.log("情况2");
         mathUtil.clonePoint(rightEdge1.start, newEdgePoint2);
         mathUtil.clonePoint(leftEdge2.start, newEdgePoint2);
-        //要删除控制点
-        dataService.deleteCrossPoint(leftEdge2.vectorId, rightEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge1.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(leftEdge2.vectorId, rightEdge1.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint2,
-            startPoint1,
-            newEdgePoint2,
-            leftEdge2,
-            rightEdge1,
-            "start",
-            "start"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint2,
+          startPoint1,
+          newEdgePoint2,
+          leftEdge2,
+          rightEdge1,
+          "start",
+          "start"
+        );
       }
       return true;
     }
@@ -548,51 +527,30 @@ export default class EdgeService {
         //console.log("情况3");
         mathUtil.clonePoint(leftEdge1.start, newEdgePoint1);
         mathUtil.clonePoint(leftEdge2.end, newEdgePoint1);
-        //要删除控制点
-        dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint1,
-            startPoint1,
-            newEdgePoint1,
-            leftEdge1,
-            leftEdge2,
-            "start",
-            "end"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint1,
+          startPoint1,
+          newEdgePoint1,
+          leftEdge1,
+          leftEdge2,
+          "start",
+          "end"
+        );
       } else {
         //console.log("情况4");
         mathUtil.clonePoint(rightEdge1.start, newEdgePoint2);
         mathUtil.clonePoint(rightEdge2.end, newEdgePoint2);
-        //要删除控制点
-        dataService.deleteCrossPoint(rightEdge1.vectorId, rightEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(
-            rightEdge1.vectorId,
-            rightEdge2.vectorId
-          );
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint2,
-            startPoint1,
-            newEdgePoint2,
-            rightEdge1,
-            rightEdge2,
-            "start",
-            "end"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint2,
+          startPoint1,
+          newEdgePoint2,
+          rightEdge1,
+          rightEdge2,
+          "start",
+          "end"
+        );
       }
       return true;
     }
@@ -619,51 +577,30 @@ export default class EdgeService {
         //console.log("情况5");
         mathUtil.clonePoint(leftEdge1.end, newEdgePoint1);
         mathUtil.clonePoint(leftEdge2.start, newEdgePoint1);
-        //要删除控制点
-        dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint1,
-            endPoint1,
-            newEdgePoint1,
-            leftEdge1,
-            leftEdge2,
-            "end",
-            "start"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint1,
+          endPoint1,
+          newEdgePoint1,
+          leftEdge1,
+          leftEdge2,
+          "end",
+          "start"
+        );
       } else {
         //console.log("情况6");
         mathUtil.clonePoint(rightEdge1.end, newEdgePoint2);
         mathUtil.clonePoint(rightEdge2.start, newEdgePoint2);
-        //要删除控制点
-        dataService.deleteCrossPoint(rightEdge1.vectorId, rightEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(
-            rightEdge1.vectorId,
-            rightEdge2.vectorId
-          );
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint2,
-            endPoint1,
-            newEdgePoint2,
-            rightEdge1,
-            rightEdge2,
-            "end",
-            "start"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint2,
+          endPoint1,
+          newEdgePoint2,
+          rightEdge1,
+          rightEdge2,
+          "end",
+          "start"
+        );
       }
       return true;
     }
@@ -690,48 +627,30 @@ export default class EdgeService {
         //console.log("情况7");
         mathUtil.clonePoint(leftEdge1.end, newEdgePoint1);
         mathUtil.clonePoint(rightEdge2.end, newEdgePoint1);
-        //要删除控制点
-        dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge1.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge2.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(leftEdge1.vectorId, leftEdge2.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint1,
-            endPoint1,
-            newEdgePoint1,
-            leftEdge1,
-            leftEdge2,
-            "end",
-            "end"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint1,
+          endPoint1,
+          newEdgePoint1,
+          leftEdge1,
+          leftEdge2,
+          "end",
+          "end"
+        );
       } else {
         //console.log("情况8");
         mathUtil.clonePoint(rightEdge1.end, newEdgePoint2);
         mathUtil.clonePoint(leftEdge2.end, newEdgePoint2);
-        //要删除控制点
-        dataService.deleteCrossPoint(rightEdge1.vectorId, leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(leftEdge2.vectorId);
-        // dataService.deleteCrossPointForEdge(rightEdge1.vectorId);
-        if (angle > Constant.maxAngle || angle < Constant.minAngle) {
-          //要删除控制点
-          dataService.deleteCrossPoint(rightEdge1.vectorId, leftEdge2.vectorId);
-        } else {
-          //需要考虑控制点CrossPointService
-          crossPointService.update(
-            newEdgePoint2,
-            endPoint1,
-            newEdgePoint2,
-            rightEdge1,
-            leftEdge2,
-            "end",
-            "end"
-          );
-        }
+
+        crossPointService.update(
+          newEdgePoint2,
+          endPoint1,
+          newEdgePoint2,
+          rightEdge1,
+          leftEdge2,
+          "end",
+          "end"
+        );
       }
       return true;
     } else {