99 lines
2.6 KiB
Text
99 lines
2.6 KiB
Text
@startuml
|
|
class Graph{
|
|
+ final class
|
|
+ private final String mapId;
|
|
+ private final String mapName;
|
|
+ private final List<Node> nodes;
|
|
+ private final GraphStatistics graphStatistics;
|
|
|
|
- public GraphStatistics getGraphInformation()
|
|
- public Node get(int id)
|
|
- public int size()
|
|
- public List<Node> getNodes()
|
|
- public String getMapId()
|
|
- public String getMapName()
|
|
- public Graph transpose() {
|
|
}
|
|
|
|
class Node {
|
|
+ private final int id;
|
|
+ private final Point point;
|
|
+ private final ArrayList<Arc> successors;
|
|
|
|
-public Node(int id, Point point)
|
|
-protected void addSuccessor(Arc arc)
|
|
-public int getId()
|
|
-public int getNumberOfSuccessors()
|
|
-public boolean hasSuccessors()
|
|
-public List<Arc> getSuccessors()
|
|
-public Point getPoint()
|
|
-public boolean equals(Object other)
|
|
}
|
|
|
|
class Path {
|
|
+ private final Graph graph;
|
|
+ private final Node origin;
|
|
+ private final List<Arc> arcs;
|
|
|
|
- public Graph getGraph()
|
|
- public Node getOrigin()
|
|
- public Node getDestination()
|
|
- public List<Arc> getArcs()
|
|
- public boolean isEmpty()
|
|
- public int size()
|
|
- public boolean isValid()
|
|
- public float getLength()
|
|
- public double getTravelTime(double speed)
|
|
- public double getMinimumTravelTime()
|
|
}
|
|
|
|
class Arc {
|
|
+ public abstract Node getOrigin();
|
|
+ public abstract Node getDestination();
|
|
+ public abstract float getLength();
|
|
|
|
- public double getTravelTime(double speed)
|
|
- public double getMinimumTravelTime()
|
|
- public abstract RoadInformation getRoadInformation();
|
|
- public abstract List<Point> getPoints();
|
|
}
|
|
|
|
class Roadinformation {
|
|
|
|
+ public enum RoadType
|
|
+ private final RoadType type;
|
|
+ private final AccessRestrictions access;
|
|
+ private final boolean oneway;
|
|
+ private final int maxSpeed;
|
|
+ private final String name;
|
|
|
|
- public RoadInformation(RoadType roadType, AccessRestrictions access,
|
|
- boolean isOneWay, int maxSpeed, String name)
|
|
- public AccessRestrictions getAccessRestrictions()
|
|
- public RoadType getType()
|
|
- public boolean isOneWay()
|
|
- public int getMaximumSpeed()
|
|
- public String getName()
|
|
- public String toString()
|
|
}
|
|
|
|
class ArcBackward {
|
|
}
|
|
|
|
class ArcForward {
|
|
}
|
|
|
|
Node --* Arc : une origine
|
|
Node --* Arc : une destination
|
|
Node --* Graph : une origine
|
|
Node --* Graph : une liste de nodes
|
|
Graph --* Path : a un graphe
|
|
Node --* Path : a une origine
|
|
Arc --* Path : a une liste d'arcs
|
|
|
|
ArcBackward <|-- Arc
|
|
ArcForward <|-- Arc
|
|
Roadinformation "1..*"--"1..*" Arc : arcs associated infos
|
|
|
|
|
|
@enduml
|