Package gumbo.visualize.data.layout

Provides special purpose building blocks for 2D/3D layout in support of data visualization.

See:
          Description

Interface Summary
AxisLayoutGraphic A graphic that supports axis-aligned layout.
LayoutGraphicTransform An interface that allows geometric transformation between layout and graphic space.
LayoutPart A part in a layout whole.
LayoutPartView A layout part associated with a data view.
LayoutView A layout element (whole, part) associated with a data view.
LayoutWhole A container for a set of layout parts that are laid out as a whole.
LayoutWholeView A layout whole associated with a whole data view.
 

Class Summary
GraphLayoutEdge A layout view for a graph model edge with two connections.
GraphLayoutEngine Base class for graph layout engines.
GraphLayoutNode A layout part that occupies space, connects to other nodes via none or more GraphLayoutLink, and is explicitely positioned by a GraphLayoutEngine.
GraphLayoutNode.BoundComparator A comparator for ordering nodes (GraphLayoutNode) by min or max extent along a given dimension.
GraphLayoutNode.IndexCenterComparator A comparator for ordering nodes (GraphLayoutNode) by index barycenter (see getIndexCenter()).
GraphLayoutNode.PositionComparator A comparator for ordering nodes (GraphLayoutNode) by position along a given dimension.
GraphLayoutNode.PriorityComparator A comparator for ordering nodes (GraphLayoutNode) by before and/or after rank priority (see getBeforePriority(), getAfterPriority()).
GraphLayoutPart An abstract base class for layout parts in a GraphLayoutWhole.
GraphLayoutVertex A layout view for a graph model vertex.
GraphLayoutWholeView A base class for whole layout views used for graph layouts.
GraphNodeOrdering Similar to a graph node ranking (see GraphNodeRanking), but the nodes in each rank are ordered.
GraphNodeRanking A ranking of graph nodes by distance from one or more seed nodes in the graph.
KinkyGraphLayoutEdge A graph layout edge that can have kinks.
KinkyGraphLayoutEngine A graph layout engine that can use kinky or straight edges.
KinkyGraphLayoutOrderer Utilities for kinky graph layout, processing stage II.
KinkyGraphLayoutPlacer Utilities for kinky graph layout, processing stage III, for positioning nodes in layout space.
KinkyGraphLayoutRanker Utilities for kinky graph layout, processing stage I.
KinkyGraphLayoutWholeView A base class for whole layout views used for kinky graph layouts.
Layouts Constants and utilities not related to the layout package.
WholeLayoutEngine Abstract base class for layout engines that manage a whole layout and its view.
WholeLayoutEngine.LayoutAction A Swing action that calls a layout engine's doLayout().
 

Package gumbo.visualize.data.layout Description

Provides special purpose building blocks for 2D/3D layout in support of data visualization.

Overview

The major players in this package are layout engines, and layout wholes and parts. A layout engine is responsible for laying out all of the parts in a whole. The whole and parts are responsible for organizing and initializing themselves, based on associated data models, and displying themselves, based on associated graphic entities.

Layout typically occurs in a layout space optimized for layout of a particular type. For example, graph layout typically uses a cannonical space with elements being laid out in a grid with 1x1 spacing. To realize the layout display, the layout whole and parts translate their layout state from layout to graphic space, which the graphic shapes that form the display understand.

In general, a graphic shape, which represents a layout part view, is only aware of itself. As such, the layout engine and its layout whole and part views are responsible for understanding and implementing any relationships amongst the graphic shapes, in a form that the graphic shapes understand. For example, a graphic edge has no knowledge of the graphic vertices it connects. The layout engine or layout edge would be responsible for positioning a graphic edge's head and tail points on the perimeters of the edge's head and tail graphic vertices.

To Do