Provides essential classes and interfaces that constitute the infrastructure for
automatic graph layout generation.
Classes
| Class | Description | |
|---|---|---|
| AbstractLayoutStage |
Partial LayoutStage implementation that handles
the management of the core layouter part.
| |
| BendConverter |
This layout stage replaces bends with dummy nodes, calls the core layout
algorithm and recreates the bends.
| |
| BufferedLayouter |
A hull layouter that invokes another layout algorithm on a copy of its input
graph.
| |
| CanonicMultiStageLayouter |
An abstract base class for layout algorithms that
provides services to simplify and decompose the input graph
before it is passed to the core layout routine itself.
| |
| ComponentLayouter | This layout stage arranges the connected components of a graph. | |
| CompositeLayouter |
A layouter that allows to express a layout stage
as a chain of more basic layout stages.
| |
| CompositeLayoutStage |
A composite layout stage that allows to express a layout stage
as a chain of more basic layout stages.
| |
| CopiedLayoutGraph |
This is a LayoutGraph implementation that serves as a copy of
another LayoutGraph or as copy of a combined GraphInterface and
and GraphLayout interface implementation.
| |
| DefaultEdgeLayout | This class is a default implementation of the EdgeLayout interface. | |
| DefaultGraphLayout |
This class is a default implementation of the simple GraphLayout
interface.
| |
| DefaultLayoutGraph | This class is a default implementation of the abstract class LayoutGraph. | |
| DefaultNodeLabelLayout | This class is the default implementation for the NodeLabelLayout. | |
| DefaultNodeLayout | This class is a default implementation of the NodeLayout interface. | |
| DiscreteEdgeLabelLayoutModel |
An edge label model that allows placement of labels
at some positions along an edge.
| |
| DiscreteNodeLabelLayoutModel |
A node label model that allows placement of labels at eight positions around
a node and at nine positions inside the node.
| |
| EdgeLabelCandidate | A candidate position for edge labels | |
| EdgeLabelLayoutImpl |
This class is an default implementation of the EdgeLabelLayout
interface.
| |
| EdgeOppositeNodeLabelLayoutModel |
A node label model that sets
the labels at the opposite side of the outgoing edges of a node.
| |
| EdgeReversalStage |
A layout stage that can be used to (selectively) reverse edges in a
graph while keeping the layout and label positions of the reversed edges
as close to the pre-reversal layout and positions as possible.
| |
| FixNodeLayoutStage |
Layout stage that can be used to fix the position of either a single
node or the alignment of the bounding box of several nodes (but not the
positions of the individual nodes).
| |
| FreeEdgeLabelLayoutModel |
An edge label model that allows placement of labels
at a fixed offset from the source intersection point of the node.
| |
| FreeEdgeLabelLayoutModel..::..ModelParameter | The model parameters for the FreeEdgeLabelModel. | |
| FreeNodeLabelLayoutModel |
A node label model that allows placement of labels at a fixed offset relative
to the node's upper-left corner.
| |
| FreeNodeLabelLayoutModel..::..ModelParameter | The model parameter that encodes a node label position within FreeNodeLabelModel. | |
| GraphLayoutLineWrapper | A layout stage that can be used to "line-wrap" or "column-wrap" a graph layout. | |
| IntersectionCalculatorKeys | ||
| LabelCandidate | Base class for candidate positions for labels. | |
| LabelLayoutData | This class encapsulates layout data for a label. | |
| LabelLayoutDataRefinement | A layout stage that improves the placement of edge labels. | |
| LabelLayoutImpl | This class is a default implementation of the LabelLayout interface. | |
| LabelLayoutKeys |
This interface provides label-specific keys that can
be used to add data providers to a layout graph.
| |
| LabelLayoutTranslator |
Layout stage that automatically translates label layout information provided by the standard
label layout classes
IEdgeLabelLayout
and
INodeLabelLayout
to layout data
of type
LabelLayoutData
that is accessible by the keys defined in class
LabelLayoutKeys
.
| |
| LabelRanking | Implements the ranking for edge and node labels for Graph2D. | |
| LayouterKeys | ||
| LayoutGraph | This class represents a drawing of a graph. | |
| LayoutGraphCopyFactory |
An implementation of the copy factory interface used by
GraphCopier
that can be used by implementations of
LayoutGraph
.
| |
| LayoutGraphCopyFactory..::..HierarchicGraphCopyFactory |
An implementation of the copy factory interface used by
GraphCopier
that can be used by implementations of
LayoutGraph
that are hierarchically grouped
using
GroupingKeys
.
| |
| LayoutMultiplexer |
This class delegates its layout calls to a core layout algorithm that is dynamically
chosen at runtime by inspecting the nodes of the input graph.
| |
| LayoutTool |
This class is a container for several helper and utility functions for
the LayoutGraph class.
| |
| MinNodeSizeStage | This layout stage enforces a given minimum width/height of the nodes of a graph during the layout process. | |
| NodeLabelCandidate |
This class represents a candidate position for label associated to a node
in a graph.
| |
| NodeLabelLayoutImpl |
This class is an default implementation of the NodeLabelLayout
interface.
| |
| NormalizingGraphElementOrderStage | Layout stage that can be used to normalize the order of the elements within a graph. | |
| OrientationLayouter |
A layout stage that performs changes the orientation
of the layout that another algorithm calculates.
| |
| OrientationLayouter..::..Transformer | Class that provides a method for transferring a point to its final position. | |
| ParallelEdgeLayouter | A layout algorithm that routes parallel edges (edges that connect the same pair of nodes) of a graph. | |
| PartitionLayouter | This layout stage provides a framework for layouts that are based on a divide and conquer approach. | |
| PartitionLayouter..::..ChannelInterEdgeRouter |
InterEdgeRouter implementation that routes inter-edges using
ChannelEdgeRouter
.
| |
| PartitionLayouter..::..ComponentPartitionPlacer |
PartitionPlacer implementation that uses
ComponentLayouter
to place
the partitions.
| |
| PartitionLayouter..::..EdgeBetweennessPartitionFinder |
PartitionFinder implementation that uses
EdgeBetweennessClustering(Graph, INodeMap, Boolean, Int32, Int32, IDataProvider)
as partition strategy.
| |
| PartitionLayouter..::..OrthogonalInterEdgeRouter |
InterEdgeRouter implementation that routes inter-edges using
OrthogonalEdgeRouter
.
| |
| PortCalculator |
This class implements a LayoutStage that can be used to adjust the final port
assignments after a layout has been calculated.
| |
| PortCandidate | This class represents a candidate for an edge's ports. | |
| PortCandidateSet |
This class describes a set of possible
PortCandidate
s and their cardinality for a node-like entity.
| |
| PortConstraint |
This class represents a constraint for either a source or target port
of an edge.
| |
| PortConstraintConfigurator | Provides configuration services for the port constraints of a graph. | |
| PortConstraintEnforcementStage |
This layout stage can be used to enforce that a layout algorithm will not change
the relative coordinates of ports that are associated with a strong/fixed port constraint.
| |
| PortConstraintKeys |
This interface defines keys used to associate
DataProviders
that provide port constraints for all edges of the input graph.
| |
| RemoveColinearBendsStage | This LayoutStage removes all collinear bends found in the graph. | |
| RotatedDiscreteEdgeLabelLayoutModel | An rotated edge label model that allows placement of rotated labels at some positions along an edge. | |
| RotatedSliderEdgeLabelLayoutModel |
An edge label model that allows placement of labels at a set of continuous positions
along both sides of an edge or directly on the edge path.
| |
| SelfLoopLayouter | A layout algorithm that routes the self-loops (reflexive edges) of a graph. | |
| SequentialLayouter |
This Layouter will take several
ILayouter
implementations and will
run these layout algorithms one after the other in the order in which they
were added.
| |
| SliderEdgeLabelLayoutModel |
An edge label model that allows placement of labels at a set of continuous positions
along both sides of an edge or directly on the edge path.
| |
| SliderEdgeLabelLayoutModel..::..ModelParameter | ||
| SubgraphLayouter |
A layout stage that filters out all graph elements
that are not part of a subgraph that is induced by
the selected nodes of the input graph.
| |
| Swimlanes | Helper class for swimlanes. | |
| Swimlanes..::..SwimlaneRepresentant | Class that internally represents a swim lane. |
Interfaces
| Interface | Description | |
|---|---|---|
| IEdgeLabelLayout |
This interface defines the properties of one edge label
from the perspective of a labeling algorithm.
| |
| IEdgeLabelModel |
This interface defines the properties of the model associated with an edge label
layout.
| |
| IEdgeLayout | This interface encapsulates the layout information for an edge. | |
| IGraphLayout | This interface defines the layout information of a graph. | |
| IIntersectionCalculator |
Interface implemented by classes that are responsible for calculating the
intersection point between an Edge and the visual representation of its
source or target node.
| |
| ILabelLayout |
This interface defines the properties of one label
from the perspective of a labeling algorithm.
| |
| ILayouter |
This is a general interface for algorithms that
perform a layout process on a given layout graph.
| |
| ILayoutStage |
Interface for a layouter that forms a stage of a larger layout
process.
| |
| INodeLabelLayout |
This interface defines the properties of one edge label
from the perspective of a labeling algorithm.
| |
| INodeLabelModel |
This interface defines the properties of the model
associated with a node label layout.
| |
| INodeLayout |
This interface describes the layout information for a node in the drawing
of a graph.
| |
| IProfitModel | This is an interface for ranking LabelCandidates. | |
| PartitionLayouter..::..IInterEdgeRouter | Implementations of this interface are responsible for routing inter-edges. | |
| PartitionLayouter..::..IPartitionFinder | Implementations of this interface are responsible to partition the input graph. | |
| PartitionLayouter..::..IPartitionPlacer | Implementations of this interface are responsible for arranging the graph partitions. | |
| PortCandidateSet..::..ICandidateMatcher |
The interface that is used by
PortCandidateSet
to retrieve
PortCandidate
s from.
| |
| PortCandidateSet..::..IEntry |
An interface that is returned by the find methods in
PortCandidateSet..::..ICandidateMatcher
and the
Entries
method.
|
Enumerations
| Enumeration | Description | |
|---|---|---|
| ComponentArrangementStyles | ||
| DiscreteEdgeLabelPosition | ||
| DiscreteNodeLabelPosition | ||
| EdgeFlow |
Edge flow specifier used by method
DetermineEdgeFlowDirection(LayoutGraph, IDataProvider)
.
| |
| FixPointPolicy |
Fix point calculation policy that results in the center of a given
rectangle to be considered the fix point.
| |
| LabelPlacements | ||
| LayoutOrientation | Orientation specifier. | |
| MirrorMask | ||
| PortDirection | ||
| PortSide | Weak constraint specifier. | |
| RotatedDiscreteEdgeLabelPosition | ||
| RotatedSliderMode | Symbolic slider mode specifier. | |
| RowAlignment |
Constant which can be used for
ArrangeRectangleRows(array<Rectangle2D>[]()[][], Rectangle2D, Double, RowAlignment)
.
| |
| SelfloopStyle | Edge layout style modifier. | |
| SliderMode | Symbolic slider mode specifier. | |
| SliderRatio | Symbolic ratio specifier. | |
| SwimlanesMode | Swim lane ordering mode specifier. |
Remarks
Provides essential classes and interfaces that constitute the infrastructure for
automatic graph layout generation.
The concept of layout stages is defined and several generically usable implementations
thereof are provided.
Classes for labeling, the label models, and port constraints are also included.
Classes for labeling, the label models, and port constraints are also included.