It can be risky to attempt homemade programs or to rely on simplistic, free algorithms that eventually show their limitations in performance. ILOG JViews Diagrammer includes a full spectrum of Java graph layout algorithms, each tailored to different diagram domains. These algorithms arrange nodes and route links, and place labels at the nodes and links. A third category of layouts arranges labels on the links. Layouts can be combined to suit any particular need.
Node layout algorithms include:
- Hierarchical
Applications include business process flow, UML diagrams, flowcharts and design diagrams
- Tree
Applications include organizational charts, class browsers, call graphs and decision trees
- Radial tree
Applications include website navigation and hyperlink visualization, and semantic networks
- Topological mesh
Applications include data and knowledge-engineering applications
- Circular (ring and star) and bus
Applications include LAN diagrams for network and systems management applications
- Spring embedder, uniform length and grid
Applications include WAN diagrams, hyperlink visualization and social-network visualization
 Hierarchical |
|
|
 Circular |
|
|

Tree |
|
|
| |
 |
|
Examples of diagrams built using ILOG JViews Diagrammer algorithms. |
|
Link layouts are a general category of algorithms that route links between nodes. They are used in entity-relationship diagrams, schematic designs, electrical circuit block diagrams, and wherever users require clean interconnections between nodes that represent fixed locations on a map.
| |
 |
|
Label layouts are useful for adding annotations to nodes, links or other anchor points. They are employed in a wide range of application domains.
At left, labels are used to annotate diagram links. |

Complete subgraph support
ILOG JViews Diagrammer completely supports nested graphs, which are graphs that contain other graphs (subgraphs) as elements. Diagrams can employ "meta nodes" that users expand in place to show the attendant subgraph. The ability to view and manipulate nested graphs allows users to create more natural representations of the real-world information being modeled.
ILOG Diagrammer technology correctly positions all subgraph nodes within the greater diagram, and intelligently routes all links connecting the various nodes. Each graph and subgraph can use an individual layout algorithm, allowing developers to choose the right layout for each particular subgraph topology.
 |
| |
 |
|
Subgraph support allows users to represent real-world information. |
|
Tuning parameters for precise layout control
Each algorithm possesses a full set of parameters, allowing users to fine-tune behavior. Typical options include layout direction (left to right, top to bottom); minimum spacing between nodes, links and labels; and maximum time allowed for a solution search.
Further options control how links are routed; locations where links connect to nodes; and whether links are bundled together when more than one connects to the same place.

Variety of link and link routing styles
ILOG JViews Diagrammer offers over a dozen different link styles, from simple straight-line connections to splines and complex polylines. Developers have full control over the look of each link; line styles, arrowheads, labels, tooltips and more can be tailored to exact application needs.
Both hierarchical layout algorithms and link layout algorithms are capable of routing polyline links. These algorithms determine how many vertices each link should have, and where they should be positioned. Numerous options are available, including orientation (vertical, horizontal, angled) and control over the number of line segments for each link.
Designed for interactive editing
In addition to graph drawing functionality, ILOG JViews Diagrammer includes complete interactive editing capabilities. Developers can add a number of specialized behaviors and layout features designed to allow the end user to manipulate the graph display in any customized manner.
Functions include:
- Creation-and-modification tools for nodes and links
- Zoom-and-pan tools
- Overview windows to control how much of the diagram is visible
- Logical zooming to hide or show layers of information, such as labels
- Drag-and-drop, cut-and-paste, undo-redo
- Layout animation
- Incremental layout ensures that small changes do not force large diagram rearrangements

Eclipse Integration
ILOG JViews Diagrammer offers two ways for developers to integrate into an Eclipse RCP application, using an Abstract Window Solution (AWT) bridge or with a Graph Editing Framework (GEF) plugin.
The AWT solution uses an enhanced SWT-to-AWT bridge provided by the product, drawing to an AWT canvas within the greater SWT application. Drawing and user interaction with the AWT canvas is handled by ILOG JViews Diagrammer.
For developers who prefer to work with native SWT, Diagrammer also provides a service that enables its graph layout capability to be used with GEF. Developers can use the performance superiority and rich feature set of Diagrammer's algorithms while continuing to use Eclipse's SWT.

Open API for complete extensibility
ILOG JViews Diagrammer's Java application program interface (API) features an extension protocol for customizing any part of a diagramming application, including:
- Connections to the underlying data
- New algorithms
- New types of node and links
- New custom interactions
Although many applications can use ILOG JViews features and functions as provided, Diagrammer's open architecture gives developers complete control over look-and-feel.
