E-mail:
Password:
 
 

New user? Sign Up.

Forgot Your Password?

Sign In
 

Tom Sawyer Layout

Overview

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.

Drawing before and after layout

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 diagram formatting. This drawing formatting sets node positions and sizes, adjusts line routing, and positions labels based on the software developer's precise specifications. The results can then be rendered in the application's graphical framework.

Circular Layout
Hierarchical Layout
Orthogonal Layout
Symmetric Layout

Tom Sawyer Layout Capabilities

  • Versatile Nested Drawing Data Model – The nested drawing data model supports data with hierarchical 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.
  • Multiple Layout Styles – Tom Sawyer Layout supports circular, hierarchical, orthogonal, and symmetric 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. Node 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 specification.
  • Incremental Layout – Incremental layout preserves understanding as changes are made to the drawing. Each incremental layout algorithm uses a minimal movement approach, employing advanced optimization technology to yield superior drawing stability.
  • 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 groups. Numerous 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 labels.
  • 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 server-side and client-side implementations.
  • Flexible File Sharing – XML input and output components enable end users to save their drawings and open them later.

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 a diverse array of layout algorithms and tailoring parameters, Tom Sawyer Layout generates superior drawing formatting results for drawing types that require precise or 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 Provides You with Total Flexibility

Tom Sawyer Software delivers advanced data visualization technology the way you need it. Tom Sawyer Layout is built around the software industry's best layout technology to provide the highest level of performance.

Editions

Tom Sawyer Layout is available in several editions to accommodate development with your specific technologies and platforms. Select one of the following editions to see additional detail.
Operating System
Architecture
Edition
Apple Mac OS X 10.6
Apple Mac OS X 10.7
Intel
Microsoft Windows Server 2008
Microsoft Windows XP
Microsoft Windows Vista
Microsoft Windows 7
Microsoft Windows 8
Intel-compatible
Red Hat Enterprise Linux 5
Intel-compatible
Red Hat Enterprise Linux 6
Intel-compatible
Oracle Solaris 10
SPARC