Table of Contents
The automatic arrangement of graphs is an essential feature of many
applications which emphasize the visualization of graphs and the
relationships among its many objects. The Tensegrity Graph Framework provides a set of
Layout classes that implement standard algorithms as well as an
infrastructure to use and manage these classes.
The Java® Layout package has been designed to fulfill the following
requirements:
Dynamic registration of new Layout algorithm
implementations.
Full integration of custom Layout implementations within
the Tensegrity Graph Framework.
Implementation of new Layout classes without knowledge
of other parts of the Tensegrity Graph Framework.
Providing a method to reuse Layout instances but with
different configurations.
Simple and appropritate use of the Layout algorithm
classes.
Ability to attach a Layout to visual graphs and
visual subgraphs.
The Tensegrity Graph Framework provides the abstract class LayoutController which may
be used as the basis for implementing custom layout controllers.
This class is the main component responsible for managing different
layout algorithm implementations and applying a layout on a
VisualGraph. In order to be used by a LayoutController, a layout
algorithm has to implement interface Layout.
The Tensegrity Graph Framework provides a rich set of Layout classes which implement the common
layout algorithms, such as a Hierarchical Layout, a Circular Layout,
a Tree Layout and an Organizational Chart Layout Furthermore, the
framework provides an EdgeLayout which perfects the arrangement of
visual edges.

A LayoutController encapsulates different Layout instances and provides
access to these instances by way of a layout context. This latter object
is basically a unique identifier associated with a Layout instance and its
specific configuration. Handling a Layout and its configuration together
simplifies the modeling of clustered graphs.

The abstract class LayoutController provides some essential methods to:
Register new instances of type Layout.
Create, remove and clone layout contexts.
Configure a Layout instance.
Apply a context-sensitive Layout to nested visual graphs.
Automatically perform a Layout during user interaction.
Save and load functions.
Display progress information during a layout task.
Report and handle errors
Supply methods for preprocessing and postprocessing.
The Tensegrity Graph Framework provides some concrete implementations of class LayoutController
which can be used in different applications, such as those involving organizational
charts, workflow and graph modeling editors.
© 2004, 2005 Tensegrity Software GmbH