IBM ILOG Dojo Diagrammer 1.1.1 API Documentation
Legend: Array Boolean Constructor Date DomNode Error Function Namespace Number Object RegExp Singleton String

ibm_ilog.graphlayout.longlink

Object » ibm_ilog.graphlayout.longlink

Method Summary

  • ILongLinkTerminationPointFilter() An interface used to define complex requirements concerning the connection of the links to specific point at the nodes.
  • LongLinkLayout(source) The main class for the Long Link Layout algorithm.
  • LongLinkLayoutReport() The class used to store information about the behavior of the Orthogonal Long Link Layout algorithm.

Attached Objects

Methods

ILongLinkTerminationPointFilter

An interface used to define complex requirements concerning the connection of the links to specific point at the nodes.

The filter can be used instead of ibm_ilog.graphlayout.INodeSideFilter to allow more precisely which termination points can be used when routing a link. For each link, the layout algorithm proposes certain termination points that are on the grid at any of the four sides of the corresponding end node. The termination point filter allows you to assign a penalty to the termination points. The termination point with the lowest penalty is most likely to be used. Termination points with penalty Number.MAX_VALUE are never chosen for the link routing.

The penalty affects which termination point is used, but this also depends whether a route from the "start" termination point to the "end" termination point of the link is possible at all without overlapping obstacles.

LongLinkLayout

The main class for the Long Link Layout algorithm.

The Long Link Layout algorithm reshapes the links of a graph without moving the nodes. It is specialized to route long orthogonal links on a grid without overlapping nodes. It uses a classical path search mechanism and an additional crossing reduction phase. It can be used to find an orthogonal route without overlaps in a labyrinth of node obstacles.

Optionally, direct links can be computed, which, however, may overlap nodes. See the method LongLinkLayout.setGlobalLinkStyle().

This layout algorithm is recommended if any of the following conditions apply:

  • Many links are long, and it is important that long orthogonal links do not overlap obstacles.
  • Routing on a grid is preferred because it guarantees a minimum distance between link segments.
  • An increasing number of bends is acceptable if this avoids any overlaps.
Otherwise, the ibm_ilog.graphlayout.shortlink.ShortLinkLayout may be more suitable.

Here are sample drawings produced by the Long Link Layout: Sample drawing produced with the Long Link Layout

The long link mode can be used to find a route through a labyrinth:

Sample drawing produced with the Long Link Layout

Note the following points:

  • The algorithm never moves any nodes. It only reshapes links.
  • The algorithm normally routes normal links. It has a special mode to route the intergraph links of the graph model.
  • The algorithm has an incremental mode and a nonincremental mode. In nonincremental mode, all links are routed. In incremental mode, only those links are routed that overlap nodes or whose end nodes have changed. The incremental mode cannot be used for intergraph links.
  • The algorithm supports self-links and multiple links between the same pair of nodes.

ParameterTypeDescription
source
LongLinkLayoutReport
The class used to store information about the behavior of the Orthogonal Long Link Layout algorithm.