|
@@ -115,14 +115,14 @@ export default class EdgeService {
|
|
|
let road1 = dataService.getRoad(roadId1);
|
|
|
let startPoint1 = dataService.getPoint(road1.startId);
|
|
|
let endPoint1 = dataService.getPoint(road1.endId);
|
|
|
- this.computerDefaultEdge(roadId1);
|
|
|
+ // this.computerDefaultEdge(roadId1); 不能这样,会导致另一端点对应的edge端点改变
|
|
|
let leftEdge1 = dataService.getEdge(road1.leftEdgeId);
|
|
|
let rightEdge1 = dataService.getEdge(road1.rightEdgeId);
|
|
|
let lineLeft1 = this.getLine(leftEdge1);
|
|
|
let lineRight1 = this.getLine(rightEdge1);
|
|
|
|
|
|
let road2 = dataService.getRoad(roadId2);
|
|
|
- this.computerDefaultEdge(roadId2);
|
|
|
+ // this.computerDefaultEdge(roadId2);
|
|
|
let startPoint2 = dataService.getPoint(road2.startId);
|
|
|
let endPoint2 = dataService.getPoint(road2.endId);
|
|
|
let leftEdge2 = dataService.getEdge(road2.leftEdgeId);
|
|
@@ -493,15 +493,16 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(leftEdge1.start, newEdgePoint1);
|
|
|
mathUtil.clonePoint(rightEdge2.start, newEdgePoint1);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(rightEdge1.vectorId, leftEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(leftEdge1.vectorId, rightEdge2.vectorId);
|
|
|
+ //不能按照下面的方式计算,因为一个edge可以属于两个控制点,毕竟有两个端点
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // leftEdge1.vectorId,
|
|
|
- // rightEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ leftEdge1.vectorId,
|
|
|
+ rightEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -521,15 +522,15 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(rightEdge1.start, newEdgePoint2);
|
|
|
mathUtil.clonePoint(leftEdge2.start, newEdgePoint2);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(leftEdge1.vectorId, rightEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
+ dataService.deleteControlPoint(leftEdge2.vectorId, rightEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // leftEdge2.vectorId,
|
|
|
- // rightEdge1.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ leftEdge2.vectorId,
|
|
|
+ rightEdge1.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -569,18 +570,15 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(leftEdge1.start, newEdgePoint1);
|
|
|
mathUtil.clonePoint(leftEdge2.end, newEdgePoint1);
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // rightEdge1.vectorId,
|
|
|
- // rightEdge2.vectorId
|
|
|
- // );
|
|
|
- dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(leftEdge1.vectorId, leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // leftEdge1.vectorId,
|
|
|
- // leftEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ leftEdge1.vectorId,
|
|
|
+ leftEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -598,15 +596,18 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(rightEdge1.start, newEdgePoint2);
|
|
|
mathUtil.clonePoint(rightEdge2.end, newEdgePoint2);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(leftEdge1.vectorId, leftEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ rightEdge1.vectorId,
|
|
|
+ rightEdge2.vectorId
|
|
|
+ );
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // rightEdge1.vectorId,
|
|
|
- // rightEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ rightEdge1.vectorId,
|
|
|
+ rightEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -646,18 +647,15 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(leftEdge1.end, newEdgePoint1);
|
|
|
mathUtil.clonePoint(leftEdge2.start, newEdgePoint1);
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // rightEdge1.vectorId,
|
|
|
- // rightEdge2.vectorId
|
|
|
- // );
|
|
|
- dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(leftEdge1.vectorId, leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // leftEdge1.vectorId,
|
|
|
- // leftEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ leftEdge1.vectorId,
|
|
|
+ leftEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -675,15 +673,18 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(rightEdge1.end, newEdgePoint2);
|
|
|
mathUtil.clonePoint(rightEdge2.start, newEdgePoint2);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(leftEdge1.vectorId, leftEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ rightEdge1.vectorId,
|
|
|
+ rightEdge2.vectorId
|
|
|
+ );
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // rightEdge1.vectorId,
|
|
|
- // rightEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ rightEdge1.vectorId,
|
|
|
+ rightEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -723,15 +724,15 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(leftEdge1.end, newEdgePoint1);
|
|
|
mathUtil.clonePoint(rightEdge2.end, newEdgePoint1);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(leftEdge2.vectorId, rightEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
+ dataService.deleteControlPoint(leftEdge1.vectorId, leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge1.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // leftEdge1.vectorId,
|
|
|
- // leftEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ leftEdge1.vectorId,
|
|
|
+ leftEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|
|
@@ -749,15 +750,15 @@ export default class EdgeService {
|
|
|
mathUtil.clonePoint(rightEdge1.end, newEdgePoint2);
|
|
|
mathUtil.clonePoint(leftEdge2.end, newEdgePoint2);
|
|
|
//要删除控制点
|
|
|
- //dataService.deleteControlPoint(leftEdge1.vectorId, rightEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
- dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
+ dataService.deleteControlPoint(rightEdge1.vectorId, leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(leftEdge2.vectorId);
|
|
|
+ // dataService.deleteControlPointForEdge(rightEdge1.vectorId);
|
|
|
if (angle > Constant.maxAngle) {
|
|
|
//要删除控制点
|
|
|
- // dataService.deleteControlPoint(
|
|
|
- // rightEdge1.vectorId,
|
|
|
- // leftEdge2.vectorId
|
|
|
- // );
|
|
|
+ dataService.deleteControlPoint(
|
|
|
+ rightEdge1.vectorId,
|
|
|
+ leftEdge2.vectorId
|
|
|
+ );
|
|
|
} else {
|
|
|
//需要考虑控制点ControlPointService
|
|
|
controlPointService.update(
|