1 package org.opentrafficsim.editor.extensions.map;
2
3 import org.djutils.draw.bounds.Bounds2d;
4 import org.djutils.draw.point.Point2d;
5 import org.opentrafficsim.draw.DrawLevel;
6 import org.opentrafficsim.draw.road.GtuGeneratorPositionAnimation.GtuGeneratorPositionData;
7 import org.opentrafficsim.editor.OtsEditor;
8 import org.opentrafficsim.editor.XsdTreeNode;
9
10
11
12
13
14
15
16
17
18 public class MapGeneratorData extends MapLaneBasedObjectData implements GtuGeneratorPositionData
19 {
20
21
22 private final String type;
23
24
25 private Bounds2d bounds = new Bounds2d(0.0, 4.75, -1.0, 1.0);
26
27
28
29
30
31
32
33 public MapGeneratorData(final EditorMap map, final XsdTreeNode node, final OtsEditor editor)
34 {
35 super(map, node, editor);
36 this.type = node.getNodeName().equals("Generator") ? "Generator " : "List generator ";
37 }
38
39 @Override
40 public Bounds2d getRelativeBounds()
41 {
42 return this.bounds;
43 }
44
45 @Override
46 public int getQueueCount()
47 {
48 return 0;
49 }
50
51 @Override
52 public double getZ()
53 {
54 return DrawLevel.OBJECT.getZ();
55 }
56
57 @Override
58 public String toString()
59 {
60 return this.type + getLinkLanePositionId();
61 }
62
63
64
65
66
67
68 @Override
69 public double signedDistance(final Point2d point)
70 {
71 return getLine().closestPointOnPolyLine(point).distance(point);
72 }
73
74 }