Common features of graph layout algorithms

The graph layout algorithms share the following features:
  • Programmable: All graph layout algorithms can be tailored through code. You do not need a diagram component to be able to use the graph layout algorithms. The algorithms can be attached to a grapher (class IlvGrapher) directly.
  • Adaptable to any graph data structure: Not even a Rogue Wave JViews grapher is required. You can program your own graph data structures and apply a Rogue Wave  JViews Diagrammer graph layout algorithm to them.
  • Extensible: you can easily use the generic framework to implement your own graph layout algorithm, or to combine smaller layout algorithms into a larger one.
  • Suitable for nested graphs: The graph layout framework provides capabilities to lay out graphs that contain other graphs as nodes. It can even route intergraph links that run between different subgraphs of a nested graph.
  • Economic and automatic: The graph layout framework has capabilities to perform a layout only when needed, i.e. when a parameter or a detail of the graph has changed. Furthermore, the framework has the capability to react automatically to such a change.
  • Selective: You can apply different layout algorithms to different parts of a graph. For instance, you can apply a layout only to the nodes and links that are on user-defined layers of the graph, or only to parts that meet user-defined conditions.
  • Time controlled: All layout algorithms can be set to stop automatically when a time has elapsed. Some layout algorithms can even be interrupted during run time.
  • Stylable: All graph layout algorithms can be used in a diagram component and all important graph layout settings can be controlled by Cascading Style Sheets (CSS).