|
@@ -1,6 +1,7 @@
|
|
|
import Point from "../Geometry/Point.js";
|
|
|
import Line from "../Geometry/Line.js";
|
|
|
import Road from "../Geometry/Road.js";
|
|
|
+import RoadPoint from "../Geometry/RoadPoint.js";
|
|
|
import RoadEdge from "../Geometry/RoadEdge.js";
|
|
|
import ElementEvents from "../enum/ElementEvents.js";
|
|
|
import VectorCategory from "../enum/VectorCategory.js";
|
|
@@ -105,8 +106,8 @@ export class ElementService {
|
|
|
|
|
|
//临时的
|
|
|
createTempRoad() {
|
|
|
- let p1 = new Point({ x: 0, y: 0 });
|
|
|
- let p2 = new Point({ x: 1, y: 1 });
|
|
|
+ let p1 = new RoadPoint({ x: 0, y: 0 });
|
|
|
+ let p2 = new RoadPoint({ x: 0, y: 300 });
|
|
|
this.newRoad = new Road(p1.vectorId, p2.vectorId);
|
|
|
this.newRoad.start = p1;
|
|
|
this.newRoad.end = p2;
|
|
@@ -173,19 +174,32 @@ export class ElementService {
|
|
|
this.newRoad.end.setPosition(point2);
|
|
|
//需要更新Edge坐标
|
|
|
if (!mathUtil.equalPoint(point1, point2)) {
|
|
|
- let edgePoints = mathUtil.RectangleVertex(
|
|
|
- point1,
|
|
|
- point2,
|
|
|
- Constant.defaultRoadWidth
|
|
|
- );
|
|
|
- this.newRoad.leftEdge.setPositions(
|
|
|
- edgePoints.leftEdgeStart,
|
|
|
- edgePoints.leftEdgeEnd
|
|
|
- );
|
|
|
- this.newRoad.rightEdge.setPositions(
|
|
|
- edgePoints.rightEdgeStart,
|
|
|
- edgePoints.rightEdgeEnd
|
|
|
- );
|
|
|
+ let edgePoints = null;
|
|
|
+ if (this.newRoad.way == Constant.oneWay) {
|
|
|
+ edgePoints = mathUtil.RectangleVertex(
|
|
|
+ point1,
|
|
|
+ point2,
|
|
|
+ this.newRoad.leftWidth + this.newRoad.rightWidth
|
|
|
+ );
|
|
|
+ } else if (this.newRoad.way == Constant.twoWay) {
|
|
|
+ edgePoints = mathUtil.RectangleVertex(
|
|
|
+ point1,
|
|
|
+ point2,
|
|
|
+ this.newRoad.leftWidth +
|
|
|
+ this.newRoad.rightWidth +
|
|
|
+ this.newRoad.midDivide.midDivideWidth
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (edgePoints != null) {
|
|
|
+ this.newRoad.leftEdge.setPositions(
|
|
|
+ edgePoints.leftEdgeStart,
|
|
|
+ edgePoints.leftEdgeEnd
|
|
|
+ );
|
|
|
+ this.newRoad.rightEdge.setPositions(
|
|
|
+ edgePoints.rightEdgeStart,
|
|
|
+ edgePoints.rightEdgeEnd
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|