Search this API

Package y.layout.router.polyline

Provides classes and interfaces for automatic polyline routing of the edges of a graph.


Interface Summary
DynamicDecomposition This interface should be implemented by classes that dispatch notifications about changes in Partitions.
DynamicDecomposition.Listener This interface is implemented by classes that require to be notified of changes in Partitions.
EnterIntervalCalculator This interface provides additional intervals in order to move from one partition cell into an adjacent one.
GraphPartitionExtension This interface provides methods for extending the functionality of a GraphPartition.
ObstaclePartition This class implements a Partition that takes a list of Obstacles as input to subdivide an area into PartitionCells.
Partition This class divides a rectangular area into one or more PartitionCells.
PartitionCellKeys This interface defines keys to obtain additional information about a PartitionCell.

Class Summary
AbstractSegmentInfo This class stores location information for orthogonal item segments.
BusDescriptor A BusDescriptor defines settings for edges routed on a common bus by EdgeRouter.
CellEntrance This class describes the location and the direction from which a given partition cell has been entered during a path search.
CellSegmentInfo This class stores information about the part of an item segment that lies inside a specified partition cell.
Channel This class describes a channel, i.e., a set of vertical or horizontal edge segments whose locations depend on each other.
ChannelBasedPathRouting This class routes edges using their pre-calculated Path information.
DynamicObstacleDecomposition This class describes an ObstaclePartition that decomposes its area dynamically.
EdgeCellInfo This class encapsulates the information that determines the route of a specific item within a specific partition cell.
EdgeInfo This class encapsulates the information required to route an edge with a path routing algorithm.
EdgeLayoutDescriptor This class is used by EdgeRouter to provide routing details for the edges of the graph.
EdgeRouter This edge routing algorithm applies polyline routes to the edges of the graph.
GraphPartition A GraphPartition partitions the bounding box of a graph into rectangles using the graph elements as Obstacles.
GraphPartitionExtensionAdapter GraphPartitionExtensionAdapter provides an empty implementation of GraphPartitionExtension.
Grid This class provides support for routing edges on equidistant grid lines.
Interval This class represents a one-dimensional closed interval.
Obstacle This class describes the obstacles that are used by implementations of ObstaclePartition to subdivide an area into PartitionCells.
OrthogonalInterval A horizontal or vertical Interval that additionally stores a y- (in the horizontal case) or x-coordinate (in the vertical case).
PartitionCell A PartitionCell represents a rectangular part of a Partition as result of the decomposition process.
PartitionCell.PartitionCellBorder This class is a type-safe enumeration used for defining the border of a PartitionCell.
Path A Path represents the result of a path search as a list of consecutive CellEntrances.
PathRequest A PathRequest describes a routing request from a source obstacle to a target obstacle which is handled and considered during a PathSearch.
PathSearch This is a pathfinding algorithm that calculates the shortest (i.e., the cheapest) paths for a set of edges through a GraphPartition.
PathSearchConfiguration This class contains the basic configuration used by path search algorithms.
PathSearchContext This class provides context information that is useful for the PathSearch algorithm.
PathSearchExtension Extensions are added to a PathSearch to influence the search process.
PathSearchResult This class manages the best Paths found for each edge and provides according EdgeInfos.
PenaltySettings This class provides the cost penalties that are applied for violating restrictions during a PathSearch.
PolylineLayoutStage PolylineLayoutStage extends the orthogonal edge paths with polyline segments.
SegmentGroup Represents a group of segments of different edges that shall be combined at their common source or target.
SegmentInfo A SegmentInfo holds information about the possible location of an orthogonal edge segment.

Package y.layout.router.polyline Description

Provides classes and interfaces for automatic polyline routing of the edges of a graph.

The main class of this package is EdgeRouter that normally routes the edges in an orthogonal fashion, i.e., they only consist of horizontal and vertical segments. The edges can also be routed in a polyline fashion. During the routing process, the positions of the nodes are considered to be fixed and EdgeRouter will not modify their locations or their sizes in any way.

Example Graphs

Sample output of the edge routing algorithm with default settings

Sample output of the edge routing algorithm with polyline routing and grouped edges

Sample output of the edge routing algorithm with polyline routing and group nodes

Related Documentation

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


© Copyright 2000-2021,
yWorks GmbH.
All rights reserved.