20 package org.matsim.lanes;
27 import java.awt.geom.Point2D;
28 import java.io.Serializable;
29 import java.util.ArrayList;
30 import java.util.HashMap;
31 import java.util.List;
38 public final class VisLane implements Serializable {
40 private String
id = null;
49 private Map<String, VisSignal>
signals = null;
70 this.endPosition = pos;
84 this.startPosition = pos;
100 this.numberOfLanes = noLanes;
112 if (this.toLinksData == null) {
113 this.toLinksData =
new ArrayList<VisLinkWLanes>();
115 this.toLinksData.add(toLink);
119 if (this.toLanes == null){
120 this.toLanes =
new ArrayList<VisLane>();
122 this.toLanes.add(toLane);
147 public void addDrivingLane(
int laneNumber, Point2D.Double drivingLaneStart, Point2D.Double drivingLaneEnd) {
148 if (this.drivingLaneMap == null){
149 this.drivingLaneMap =
new HashMap<Integer, Tuple<Coord, Coord>>();
152 this.drivingLaneMap.put(laneNumber, tuple);
156 return this.drivingLaneMap.get(laneNumber);
169 if (this.signals == null){
170 this.signals =
new HashMap<String, VisSignal>();
172 this.signals.put(signal.
getId(), signal);
185 if (this.toLinkIds == null)
186 this.toLinkIds =
new ArrayList<>();
187 this.toLinkIds.add(toLinkId);
void setEndPosition(double pos)
void addDrivingLane(int laneNumber, Point2D.Double drivingLaneStart, Point2D.Double drivingLaneEnd)
Point2D.Double getStartPoint()
Map< String, VisSignal > getSignals()
List< String > getToLinkIds()
static double calcEuclideanDistance(Coord coord, Coord other)
transient List< VisLinkWLanes > toLinksData
Map< String, VisSignal > signals
Point2D.Double startPoint
double getStartPosition()
List< VisLane > getToLanes()
Point2D.Double getEndPoint()
void setSignalGroupState(SignalGroupState state)
void setAlignment(int alignment)
void setStartPosition(double pos)
void addToLink(VisLinkWLanes toLink)
void addSignal(VisSignal signal)
SignalGroupState getSignalGroupState()
void addToLinkId(String toLinkId)
double getNumberOfLanes()
List< VisLinkWLanes > getToLinks()
Tuple< Coord, Coord > getDrivingLaneStartEndCoord(int laneNumber)
Map< Integer, Tuple< Coord, Coord > > drivingLaneMap
void setNumberOfLanes(double noLanes)
void addToLane(VisLane toLane)
double getEuklideanDistance()
void setStartEndPoint(Point2D.Double startPoint, Point2D.Double endPoint)