|
@@ -54,6 +54,7 @@ export default class ControlPointService {
|
|
}
|
|
}
|
|
edge1.setPosition(position1, dir1);
|
|
edge1.setPosition(position1, dir1);
|
|
edge2.setPosition(position2, dir2);
|
|
edge2.setPosition(position2, dir2);
|
|
|
|
+ controlPoint.setExtremePoint();
|
|
}
|
|
}
|
|
|
|
|
|
//newleft,end------------road.leftEdgeId,end
|
|
//newleft,end------------road.leftEdgeId,end
|
|
@@ -72,42 +73,6 @@ export default class ControlPointService {
|
|
}
|
|
}
|
|
dataService.addControlPoint(controlPoint);
|
|
dataService.addControlPoint(controlPoint);
|
|
}
|
|
}
|
|
- //position在直线edge.start,edge.end上
|
|
|
|
- // isPointOnEdgeRay(edge, dir, position) {
|
|
|
|
- // let point1, point2;
|
|
|
|
- // if (dir == "start") {
|
|
|
|
- // point1 = edge.start;
|
|
|
|
- // point2 = edge.end;
|
|
|
|
- // } else if (dir == "end") {
|
|
|
|
- // point1 = edge.end;
|
|
|
|
- // point2 = edge.start;
|
|
|
|
- // }
|
|
|
|
-
|
|
|
|
- // let v1 = {
|
|
|
|
- // x: position.x - point1.x,
|
|
|
|
- // y: position.y - point1.y,
|
|
|
|
- // };
|
|
|
|
-
|
|
|
|
- // let v2 = {
|
|
|
|
- // x: point2.x - point1.x,
|
|
|
|
- // y: point2.y - point1.y,
|
|
|
|
- // };
|
|
|
|
-
|
|
|
|
- // let v = {
|
|
|
|
- // x: v1.x + v2.x,
|
|
|
|
- // y: v1.y + v2.y,
|
|
|
|
- // };
|
|
|
|
-
|
|
|
|
- // let d = mathUtil.getDistance(v, { x: 0, y: 0 });
|
|
|
|
- // let d1 = mathUtil.getDistance(position, point1);
|
|
|
|
- // let d2 = mathUtil.getDistance(point2, point1);
|
|
|
|
-
|
|
|
|
- // if (Math.abs(d - d1 - d2) < 0.01) {
|
|
|
|
- // return true;
|
|
|
|
- // } else {
|
|
|
|
- // return false;
|
|
|
|
- // }
|
|
|
|
- // }
|
|
|
|
|
|
|
|
//角度小,road宽的时候,可能edge顺序会倒,但是road的顺序不会
|
|
//角度小,road宽的时候,可能edge顺序会倒,但是road的顺序不会
|
|
isPointOnEdgeRay(edge, dir, position) {
|
|
isPointOnEdgeRay(edge, dir, position) {
|
|
@@ -154,7 +119,8 @@ export default class ControlPointService {
|
|
|
|
|
|
updateForMovePoint(controlPointId, newPosition) {
|
|
updateForMovePoint(controlPointId, newPosition) {
|
|
let controlPoint = dataService.getControlPoint2(controlPointId);
|
|
let controlPoint = dataService.getControlPoint2(controlPointId);
|
|
- mathUtil.clonePoint(controlPoint, newPosition);
|
|
|
|
|
|
+ mathUtil.clonePoint(controlPoint.extremePoint, newPosition);
|
|
|
|
+ controlPoint.setCurves();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|