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

Classes

  ClassDescription
Public classAbstractSegmentInfo
Stores location information for orthogonal edge segments.
Public classCellEntrance
Describes where and from which direction a PartitionCell has been entered during a path search.
Public classCellSegmentInfo
Stores information about the part of an edge segment that lies inside a specified PartitionCell .
Public classChannel
A channel is a set of vertical or horizontal edge segments whose locations depend on each other.
Public classChannelBasedPathRouting
Routes edges using their pre-calculated Path information.
Public classDynamicDecompositionCompanion
Public classDynamicObstacleDecomposition
An IObstaclePartition that decomposes its area dynamically and implements the IDynamicDecomposition interface.
Public classEdgeCellInfo
Encapsulates the information that determines the route of a specific edge within a specific partition cell.
Public classEdgeInfo
Encapsulates the information required to route an edge with a path routing algorithm.
Public classEdgeLayoutDescriptor
This class is used by EdgeRouter to determine the routing details of the graph's edges.
Public classEdgeRouter
This class represents a polyline edge router which calculates an edge layout containing only straight segments.
Public classGraphPartition
Partitions the bounding box of a graph in rectangles using graph elements as obstacles.
Public classGraphPartitionExtensionAdapter
This abstract adapter provides an empty implementation of IGraphPartitionExtension .
Public classGrid
Provides support for routing edges on equidistant grid lines.
Public classInterval
This class represents a one-dimensional, closed interval.
Public classObstacle
Obstacles are used by implementations of IObstaclePartition to subdivide an area into PartitionCell s.
Public classOrthogonalInterval
A horizontal or vertical Interval that additionally stores a y- (in the horizontal case) or x-coordinate (in the vertical case).
Public classPartitionCell
Represents a rectangular part of the IPartition as result of the decomposition process.
Public classPartitionCell..::..PartitionCellBorder
Type-safe enumeration that is used to define the border of a partition cell.
Public classPartitionCellKeysCompanion
Public classPath
A Path represents the result of a path search as a list of consecutive CellEntrance s.
Public classPathSearch
A pathfinding algorithm that calculates the shortest (that means the cheapest) paths for a set of edges through a GraphPartition .
Public classPathSearchConfiguration
Contains the basic configuration used by path search algorithms.
Public classPathSearchContext
Provides context information that is useful for the path search algorithm.
Public classPathSearchExtension
Extensions are added to a PathSearch to influence the search process.
Public classPathSearchResult
Manages the best Path s found for each edge and provides according EdgeInfo s.
Public classPenaltySettings
Provides the cost penalties that are applied for violating restrictions during a path search.
Public classPolylineLayoutStage
Adds polyline segment to the orthogonal edge paths of a graph.
Public classSegmentGroup
Represents a group of segments of different edges, that shall be combined at the common source or target side.
Public classSegmentInfo
Stores information about the possible location of an orthogonal edge segment.

Interfaces

  InterfaceDescription
Public interfaceDynamicDecompositionCompanion..::..IListener
Interface for classes that want to be notified about changes in partitions.
Public interfaceIDynamicDecomposition
This interface should be implemented by classes that dispatch notifications about changes in partitions.
Public interfaceIEnterIntervalCalculator
Interface providing additional intervals to traverse from one PartitionCell into an adjacent one.
Public interfaceIGraphPartitionExtension
Implementations are extending the functionality of a GraphPartition .
Public interfaceIObstaclePartition
A IPartition that takes a list of Obstacle s as input to subdivide an area into PartitionCell s.
Public interfaceIPartition
Divides a rectangular area into one or more PartitionCell s.
Public interfaceIPartitionCellKeys
This interface defines keys to obtain additional information about a PartitionCell .

Enumerations

  EnumerationDescription
Public enumerationAlignment
Public enumerationRoutingType

Remarks

Provides classes and interfaces for automatic polylinear routing of a graph's edges. orthogonal routingpolylinear routing
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.

Related Documentation

See the yFiles Developer's Guide section on Polyline Edge Routing for a description of the polyline edge routing algorithm.