Class OrthogonalRouter

java.lang.Object
org.eclipse.gef.fx.nodes.AbstractRouter
org.eclipse.gef.fx.nodes.OrthogonalRouter
All Implemented Interfaces:
IConnectionRouter

public class OrthogonalRouter extends AbstractRouter
An IConnectionRouter that interprets the Connection control points as way points and adjusts the way points (if necessary) so that the Connection is routed orthogonally.
  • Constructor Details

    • OrthogonalRouter

      public OrthogonalRouter()
  • Method Details

    • getAnchoredReferencePoint

      protected Point getAnchoredReferencePoint(List<Point> points, int index)
      Returns the reference point for the anchor at the given index.
      Specified by:
      getAnchoredReferencePoint in class AbstractRouter
      Parameters:
      points - The Connection that is currently routed.
      index - The index specifying the anchor for which to provide a reference point.
      Returns:
      The reference point for the anchor at the given index in the local coordinate system of the anchored, which is the connection's curve.
    • route

      protected Vector route(AbstractRouter.ControlPointManipulator cpm, Vector inDirection, Vector outDirection)
      Description copied from class: AbstractRouter
      Inserts router anchors where necessary. Returns the Vector that points to the next point.
      Overrides:
      route in class AbstractRouter
      Parameters:
      cpm - The AbstractRouter.ControlPointManipulator that can be used to insert points.
      inDirection - The Vector from the previous point to the current point.
      outDirection - The Vector from the current point to the next point.
      Returns:
      The adjusted Vector from the current point to the next point.
    • routeNonOrthogonalSegment

      protected Vector routeNonOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector inDirection, Vector outDirection, int i, Point currentPoint)
      This method is called for a non-orthogonal direction from the last point on the connection to the current point on the connection.
      Parameters:
      connection - The Connection that is manipulated.
      controlPointManipulator - The helper that is used for inserting route points.
      inDirection - The previous direction, or null (for the end point).
      outDirection - The current direction, or null (for the start point).
      i - The index of the current point.
      currentPoint - The current Point.
      Returns:
      The manipulated current direction.
    • routeOrthogonalSegment

      protected Vector routeOrthogonalSegment(Connection connection, AbstractRouter.ControlPointManipulator controlPointManipulator, Vector currentDirection, int i, Point currentPoint)
      This method is called for an orthogonal direction from the last point on the connection to the current point on the connection.
      Parameters:
      connection - The Connection that is manipulated.
      controlPointManipulator - The helper that is used to insert route points.
      currentDirection - The current direction.
      i - The index of the current point.
      currentPoint - The current Point.
      Returns:
      The manipulated current direction.
    • updateComputationParameters

      protected void updateComputationParameters(List<Point> points, int index, DynamicAnchor anchor, AnchorKey key)
      Description copied from class: AbstractRouter
      Update's the reference point of the anchor with the given index.
      Overrides:
      updateComputationParameters in class AbstractRouter
      Parameters:
      points - The Connection's points (snapshot taken before parameters are updated, i.e. independent from the parameter changes).
      index - The index of the connection anchor (and anchor key) for which the computation parameters are updated.
      anchor - The DynamicAnchor for which to update the computation parameters.
      key - The AnchorKey, corresponding to the index, for which to update the computation parameters.