BE_Graphes/class_diagram.puml
2024-03-25 10:15:26 +01:00

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