Tom Sawyer Layout
Tom Sawyer Layout is a software development kit (SDK) that provides nested drawing data models and layout,
labeling, and routing technology for applications that have their own graphical framework.
Tom Sawyer Layout is intended for applications that already have graphics facilities in place, and that still
need automatic layout capabilities. Tom Sawyer Layout provides a variety of high-quality layout algorithms with
superior performance and scalability.
Tom Sawyer Layout permits software developers to populate a nested drawing data model, set drawing
specifications, choose a desired drawing style, and perform automatic drawing formatting. This drawing
formatting sets node
positions and sizes, adjusts line routing, and positions labels based on the software developer's precise
The results can then be rendered in the application's graphical framework.
Tom Sawyer Layout Capabilities
- Versatile Nested Drawing Data Model – The nested drawing data model supports data with
structure, including containers and groups with structure within and below them. The data model supports
actions such as
drill-down, expand and collapse, fold and unfold, group and ungroup, and hide and unhide.
- Various Layout Styles – Tom Sawyer Layout supports circular, hierarchical, orthogonal, and
layout. Each layout algorithm has a state-of-the-art proprietary implementation that has been fine-tuned
over years of work.
- Global Layout – Reformatting with global layout obeys precise drawing specifications and rules.
positions are optimized to reduce drawing area, path lengths, crossings, and ambiguity while elegantly
fitting the drawing
canvas and adhering to aesthetic criteria. For example, when a drawing has a nested structure, automatic
layout performs an
integrated nested drawing layout, based on the drawing styles and placement rules within the overall drawing
- Incremental Layout – Incremental layout preserves understanding as changes are made to the
incremental layout algorithm uses a minimal movement approach, employing advanced optimization technology to
- Constraint-based Layout – Constraints allow for fine-tuned drawing element placement to adhere
to exact drawing
rules. Software developers can specify fixed node positions, alignments, sequences, bands, separations, and
constraints may be applied to each drawing specification and a sophisticated constraint solver resolves and
reports back when
conflicting specifications need to be reconciled.
- Integrated Labeling – Each node, edge, and connector can have labels with position
specifications. For example, a software developer can specify that labels should be placed at the source,
center, or target of an edge
route between two nodes. With orthogonal drawings, a software developer can also specify that labels should
be placed to the left or
right of a vertical edge segment, or above or below a horizontal edge segment. A software developer can
specify that nodes have
several floating labels with specific positions. Connectors, which are fixed or movable attachment locations
on nodes, can also have
labels with assigned position specifications. Automatic labeling then reduces ambiguity by preventing labels
from being placed on
top of one another, on top of nodes or edge routes, or too close to edge crossing locations. Orthogonal
drawings support integrated
labeling where label placement is calculated as an integral part of the node placement and edge routing
phases. The integrated
labeling goal is to keep the area of the drawing small while preventing labels from overlapping with nodes,
edge routes or other
- Architectural Freedom – Product editions are available for ActiveX, C++, Java, and .NET, giving
software developers the freedom to build their application with the architecture of their choice.
- Modern Service Architecture – A modern service-oriented architecture with input system,
algorithm execution, and output system enables both server-side and client-side implementations.
- Flexible File Sharing – XML input and output enable end users to save their drawings and open
Tom Sawyer Layout Advantages
- Superior Performance and Scalability – Offering layout algorithms that lead the software
industry in terms of performance, and scalability, Tom Sawyer Layout supports drawings with tens of
thousands of nodes, edges, and labels. Other open source and commercially available graph layout packages
often break down or become completely unusable with larger data sets.
- Superior Layout Quality – With diverse layout algorithms and tailoring parameters, Tom Sawyer
Layout generates superior drawing formatting for complex drawing specifications.
- Greater Stability – Data visualization applications built with Tom Sawyer Layout have been
successfully used by leading enterprises and governments.
- Lower Risk – Dependable and well-tested layout algorithms significantly reduce risks introduced
by in-house development. Time and time again, Tom Sawyer Layout has been been field-tested and proven to be
reliable in demanding enterprise-class applications across numerous application domains.
Tom Sawyer Layout is available in C++, Java, ActiveX, and .NET editions. Select the edition
that meets your needs to see additional detail.