Provides classes and interfaces for automatic polylinear routing of a graph's edges.
Classes
Class  Description  

AbstractSegmentInfo  Stores location information for orthogonal edge segments.  
CellEntrance 
Describes where and from which direction a
PartitionCell
has been entered during a path search.
 
CellSegmentInfo 
Stores information about the part of an edge segment that lies inside a specified
PartitionCell
.
 
Channel  A channel is a set of vertical or horizontal edge segments whose locations depend on each other.  
ChannelBasedPathRouting 
Routes edges using their precalculated
Path
information.
 
DynamicDecompositionCompanion  
DynamicObstacleDecomposition 
An
IObstaclePartition
that decomposes its area dynamically and implements the
IDynamicDecomposition
interface.
 
EdgeCellInfo  Encapsulates the information that determines the route of a specific edge within a specific partition cell.  
EdgeInfo  Encapsulates the information required to route an edge with a path routing algorithm.  
EdgeLayoutDescriptor 
This class is used by
EdgeRouter
to determine the routing details of the graph's edges.
 
EdgeRouter  This class represents a polyline edge router which calculates an edge layout containing only straight segments.  
GraphPartition  Partitions the bounding box of a graph in rectangles using graph elements as obstacles.  
GraphPartitionExtensionAdapter 
This abstract adapter provides an empty implementation of
IGraphPartitionExtension
.
 
Grid  Provides support for routing edges on equidistant grid lines.  
Interval  This class represents a onedimensional, closed interval.  
Obstacle 
Obstacles are used by implementations of
IObstaclePartition
to subdivide an area into
PartitionCell
s.
 
OrthogonalInterval 
A horizontal or vertical
Interval
that additionally stores a y (in the horizontal case) or xcoordinate (in
the vertical case).
 
PartitionCell 
Represents a rectangular part of the
IPartition
as result of the decomposition process.
 
PartitionCell..::..PartitionCellBorder  Typesafe enumeration that is used to define the border of a partition cell.  
PartitionCellKeysCompanion  
Path 
A Path represents the result of a path search as a list of consecutive
CellEntrance
s.
 
PathSearch 
A pathfinding algorithm that calculates the shortest (that means the cheapest) paths for a set of edges through a
GraphPartition
.
 
PathSearchConfiguration  Contains the basic configuration used by path search algorithms.  
PathSearchContext  Provides context information that is useful for the path search algorithm.  
PathSearchExtension 
Extensions are added to a
PathSearch
to influence the search process.
 
PathSearchResult  
PenaltySettings  Provides the cost penalties that are applied for violating restrictions during a path search.  
PolylineLayoutStage  Adds polyline segment to the orthogonal edge paths of a graph.  
SegmentGroup  Represents a group of segments of different edges, that shall be combined at the common source or target side.  
SegmentInfo  Stores information about the possible location of an orthogonal edge segment. 
Interfaces
Interface  Description  

DynamicDecompositionCompanion..::..IListener  Interface for classes that want to be notified about changes in partitions.  
IDynamicDecomposition  This interface should be implemented by classes that dispatch notifications about changes in partitions.  
IEnterIntervalCalculator 
Interface providing additional intervals to traverse from one
PartitionCell
into an adjacent one.
 
IGraphPartitionExtension 
Implementations are extending the functionality of a
GraphPartition
.
 
IObstaclePartition  
IPartition 
Divides a rectangular area into one or more
PartitionCell
s.
 
IPartitionCellKeys 
This interface defines keys to obtain additional information about a
PartitionCell
.

Enumerations
Enumeration  Description  

Alignment  
RoutingType 
Remarks
Provides classes and interfaces for automatic polylinear routing of a graph's edges.
Fig 1: The same graph with orthogonal (left) and polylinear (right) edge routing. The main class of this layout algorithm is EdgeRouter . See its class description for conceptual information.
Fig 1: The same graph with orthogonal (left) and polylinear (right) edge routing. The main class of this layout algorithm is EdgeRouter . See its class description for conceptual information.