|
@@ -119,7 +119,7 @@ export default class Layer {
|
|
break;
|
|
break;
|
|
case LayerEvents.AddLine:
|
|
case LayerEvents.AddLine:
|
|
stateService.setEventName(LayerEvents.AddingLine);
|
|
stateService.setEventName(LayerEvents.AddingLine);
|
|
- addLine.setNewLinePoint("start", position);
|
|
|
|
|
|
+ addLine.setNewLinePoint(position);
|
|
break;
|
|
break;
|
|
case LayerEvents.AddCircle:
|
|
case LayerEvents.AddCircle:
|
|
stateService.setEventName(LayerEvents.AddingCircle);
|
|
stateService.setEventName(LayerEvents.AddingCircle);
|
|
@@ -296,7 +296,13 @@ export default class Layer {
|
|
break;
|
|
break;
|
|
case LayerEvents.AddingLine:
|
|
case LayerEvents.AddingLine:
|
|
needAutoRedraw = true;
|
|
needAutoRedraw = true;
|
|
- listenLayer.start(position);
|
|
|
|
|
|
+ let exceptLineId = null;
|
|
|
|
+ if (addLine.newLine != null) {
|
|
|
|
+ exceptLineId = addLine.newLine.vectorId;
|
|
|
|
+ }
|
|
|
|
+ listenLayer.start(position, {
|
|
|
|
+ exceptLineId: exceptLineId,
|
|
|
|
+ });
|
|
if (listenLayer.modifyPoint) {
|
|
if (listenLayer.modifyPoint) {
|
|
position = {
|
|
position = {
|
|
x: listenLayer.modifyPoint.x,
|
|
x: listenLayer.modifyPoint.x,
|
|
@@ -308,11 +314,20 @@ export default class Layer {
|
|
elementService.setNewLine(addLine.startInfo.position, position);
|
|
elementService.setNewLine(addLine.startInfo.position, position);
|
|
elementService.setNewLineCategory(VectorCategory.Line.NormalLine);
|
|
elementService.setNewLineCategory(VectorCategory.Line.NormalLine);
|
|
elementService.showNewLine();
|
|
elementService.showNewLine();
|
|
- addLine.setNewLinePoint("end", position);
|
|
|
|
|
|
+
|
|
|
|
+ if (addLine.newLine == null) {
|
|
|
|
+ addLine.buildLine(position);
|
|
|
|
+ } else {
|
|
|
|
+ addLine.updateLine(position);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case LayerEvents.AddingCircle:
|
|
case LayerEvents.AddingCircle:
|
|
needAutoRedraw = true;
|
|
needAutoRedraw = true;
|
|
- listenLayer.start(position);
|
|
|
|
|
|
+ let exceptCircleId = null;
|
|
|
|
+ if (addCircle.newCircle != null) {
|
|
|
|
+ exceptCircleId = addCircle.newCircle.vectorId;
|
|
|
|
+ }
|
|
|
|
+ listenLayer.start(position, { exceptCircleId: exceptCircleId });
|
|
if (listenLayer.modifyPoint) {
|
|
if (listenLayer.modifyPoint) {
|
|
position = {
|
|
position = {
|
|
x: listenLayer.modifyPoint.x,
|
|
x: listenLayer.modifyPoint.x,
|
|
@@ -321,7 +336,11 @@ export default class Layer {
|
|
}
|
|
}
|
|
elementService.execute(addCircle.center, position);
|
|
elementService.execute(addCircle.center, position);
|
|
elementService.setPoint(position);
|
|
elementService.setPoint(position);
|
|
- addCircle.setRadius(mathUtil.getDistance(addCircle.center, position));
|
|
|
|
|
|
+ if (addCircle.newCircle == null) {
|
|
|
|
+ addCircle.buildCircle(position);
|
|
|
|
+ } else {
|
|
|
|
+ addCircle.updateCircle(position);
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case LayerEvents.MoveRoad:
|
|
case LayerEvents.MoveRoad:
|
|
needAutoRedraw = true;
|
|
needAutoRedraw = true;
|
|
@@ -648,14 +667,14 @@ export default class Layer {
|
|
break;
|
|
break;
|
|
case LayerEvents.AddingLine:
|
|
case LayerEvents.AddingLine:
|
|
needAutoRedraw = true;
|
|
needAutoRedraw = true;
|
|
- addLine.buildLine();
|
|
|
|
|
|
+ addLine.finish(position);
|
|
addLine.clear();
|
|
addLine.clear();
|
|
this.history.save();
|
|
this.history.save();
|
|
elementService.hideAll();
|
|
elementService.hideAll();
|
|
break;
|
|
break;
|
|
case LayerEvents.AddingCircle:
|
|
case LayerEvents.AddingCircle:
|
|
needAutoRedraw = true;
|
|
needAutoRedraw = true;
|
|
- addCircle.buildCircle();
|
|
|
|
|
|
+ addCircle.finish(position);
|
|
addCircle.clear();
|
|
addCircle.clear();
|
|
this.history.save();
|
|
this.history.save();
|
|
elementService.hideAll();
|
|
elementService.hideAll();
|