No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ArcBackward.java 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package org.insa.graph;
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4. import java.util.List;
  5. /**
  6. * Implementation of Arc that represents a "backward" arc in a graph, i.e., an
  7. * arc that is the reverse of another one. This arc only holds a reference to
  8. * the original arc.
  9. *
  10. */
  11. class ArcBackward extends Arc {
  12. // Original arc
  13. private final Arc originalArc;
  14. /**
  15. * Create a new backward arc which corresponds to the reverse arc of the given
  16. * arc.
  17. *
  18. * @param originalArc Original forwarc arc corresponding to this backward arc.
  19. */
  20. protected ArcBackward(Arc originalArc) {
  21. this.originalArc = originalArc;
  22. }
  23. @Override
  24. public Node getOrigin() {
  25. return this.originalArc.getDestination();
  26. }
  27. @Override
  28. public Node getDestination() {
  29. return this.originalArc.getOrigin();
  30. }
  31. @Override
  32. public float getLength() {
  33. return this.originalArc.getLength();
  34. }
  35. @Override
  36. public RoadInformation getRoadInformation() {
  37. return this.originalArc.getRoadInformation();
  38. }
  39. @Override
  40. public List<Point> getPoints() {
  41. List<Point> pts = new ArrayList<>(this.originalArc.getPoints());
  42. Collections.reverse(pts);
  43. return pts;
  44. }
  45. }