Class ManhattanConnector

  • All Implemented Interfaces:
    CanvasComponent, Connector, Figure, VisibleComponent, UserObjectContainer
    Direct Known Subclasses:
    LinkManhattanConnector

    public class ManhattanConnector
    extends AbstractConnector
    A Connector that draws itself with perpendicular lines. To help it route itself, the connector contains an instance of ManhattanRouter, which can be changed to create other kinds of (or smarter) connectors. By default the connector routes itself with rounded corners, which tend to look a little nicer in complex views. To get standard right angles at the corners, set the bend radius to zero.
    Version:
    $Id$
    Author:
    John Reekie, Michael Shilman
    • Field Detail

      • _labelLocation

        protected java.awt.geom.Point2D _labelLocation
        The location to attach the label to.
    • Constructor Detail

      • ManhattanConnector

        public ManhattanConnector​(Site tail,
                                  Site head)
        Create a new manhattan connector between the given sites. The connector is drawn with a width of one and in black. The router is an instance of BasicManhattanRouter. The connector is not routed until route() is called. The corners of the connector will be rounded with a bend radius of 50.
      • ManhattanConnector

        public ManhattanConnector​(Site tail,
                                  Site head,
                                  ManhattanRouter router)
        Create a new manhattan connector between the given sites and with the given router. The connector is drawn with a width of one and in black. The connector is routed between the head and tail sites. The corners of the connector will be rounded with a bend radius of 50.
    • Method Detail

      • getBendRadius

        public double getBendRadius()
        Return the maximum bend radius of the manhattan-routed edge. A value of zero means that the corners of the route are square; the larger the value, the more curvy the corners will be.
      • route

        public void route()
        Tell the connector to route itself between the current positions of the head and tail sites.
        Specified by:
        route in interface Connector
        Specified by:
        route in class AbstractConnector
      • setBendRadius

        public void setBendRadius​(double r)
        Set the maximum bend radius of the manhattan-routed edge. A value of zero means that the corners of the route are square; the larger the value, the more curvy the corners will be.
        See Also:
        getBendRadius()
      • setRouter

        public void setRouter​(ManhattanRouter router)
        Set the router and route again.
      • translate

        public void translate​(double x,
                              double y)
        Translate the connector. This method is implemented, since controllers may wish to translate connectors when the sites at both ends are moved the same distance.
        Specified by:
        translate in interface Figure
        Specified by:
        translate in class AbstractConnector
        Parameters:
        x - The x value to be moved.
        y - The y value to be moved.