Computes statistical information about a layout.
More...
#include <ogdf/basic/LayoutStatistics.h>
Computes statistical information about a layout.
Definition at line 44 of file LayoutStatistics.h.
◆ angles()
Computes the angle for each pair of adjacent edge segments of the layout ga
.
Angles are given in radians.
 Parameters

ga  Input layout. 
considerBends  Determines whether bend points of edges shall be considered. 
 Returns
 The angle for each two adjacent edge segments.
◆ edgeLengths()
Computes the edge length for each edge in the layout ga
.
 Parameters

ga  Input layout. 
considerSelfLoops  Determines whether the lengths of selfloops are considered. 
 Returns
 The edge length for each edge.
◆ intersectionGraph()
Computes the intersection graph H
of the line segments in the layout given by ga
.
The nodes of the intersection graph are all endpoints of segments in ga
plus all intersection points. The edges corrsepond to edges in the input layout: If an edge connecting points v and w in H
corresponds to an edge e in the input graph, then e contains a line segment s such that both v and w are endpoints or intersection points of s.
To put it more simple, we obtain graph H
from ga
by putting a dummy vertex on each crossing and bend point, and joining all nodes representing the same point in the plane.
 Warning
 Do not call this algorithm on drawings with arbitrarily close curves (e.g., curves overlapping on an interval).
 Parameters

ga  Input layout. If it contains bend points, each segment of an edge's polyline is considered as a line segment. Otherwise, a straightline drawing is assumed. 
H  Is assigned the intersection graph. 
points  Maps nodes in H to their geometric position in the layout. 
origNode  Maps nodes in H to nodes in ga's graph. Points that are only intersection points of segments are mapped to nullptr . 
origEdge  Maps edges in H to the corresponding edges in ga's graph. 
◆ numberOfBends()
Computes the number of bends (i.e. bendpoints) for each edge in the layout ga
.
 Parameters

ga  Input layout. 
considerSelfLoops  Determines whether the bends of selfloops are considered. 
 Returns
 The number of bends for each edge.
◆ numberOfCrossings()
Computes the number of edge crossings for each edge in the layout ga
.
If several edge segments cross in the same point, this is counted as if all of these segments would cross pairwise. E.g., if three edge segments cross in a common points, this counts as two crossings for each of the edges.
 Warning
 The same warning as for intersectionGraph applies.

The sum of all returned values is twice the number of crossings as each crossing involves two edges.
 Parameters

ga  Input layout. If it contains bend points, each segment of an edge's polyline is considered as a line segment. Otherwise, a straightline drawing is assumed. 
 Returns
 The number of crossings for each edge.
◆ numberOfNodeCrossings()
Computes the number of crossings through a nonincident node for each edge in the layout ga
.
If several edge segments cross a node in the same point, one crossing per edge segment is counted. E.g., if three edge segments cross a node in a common point, this counts as three node crossings. Each node is treated as if it had the shape of the rectangle with the corresponding width and height given by ga
.
 Parameters

ga  Input layout. If it contains bend points, each segment of an edge's polyline is considered as a line segment. Otherwise, a straightline drawing is assumed. 
 Returns
 The number of node crossings for each edge.
◆ numberOfNodeOverlaps()
Computes the number of node overlaps for each node in the layout ga
.
Each node is treated as if it had the shape of the rectangle with the corresponding width and height given by ga
.
 Warning
 The sum of all returned values is twice the number of node overlaps as each node overlap involves two nodes.
 Parameters

 Returns
 The number of node overlaps for each node.
The documentation for this class was generated from the following file: