Specifies if only overlapping edges should be considered parallel. Default is false.
Reference to the enclosing Graph.
The parent cell of the layout, if any
Defines the spacing between the parallels. Default is 20.
Boolean indicating if the bounding box of the label should be used if it iss available.
Shortcut to Graph#updateGroupBounds with moveGroup set to true.
Implements GraphLayout#execute.
Returns the constraint for the given key and cell. The optional edge and source arguments are used to return inbound and outgoing routing- constraints for the given edge and vertex. This implementation always returns the value for the given key in the style of the given cell.
Key of the constraint to be returned.
Cell whose constraint should be returned.
Optional
edge: CellOptional Cell that represents the connection whose constraint should be returned. Default is null.
Optional
source: booleanOptional boolean that specifies if the connection is incoming or outgoing. Default is null.
Notified when a cell is being moved in a parent that has automatic layout to update the cell state (eg. index) so that the outcome of the layout will position the vertex as close to the point (x, y) as possible.
Empty implementation.
Sets the new position of the given cell taking into account the size of the bounding box if useBoundingBox is true. The change is only carried out if the new location is not equal to the existing location, otherwise the geometry is not replaced with an updated instance. The new or old bounds are returned (including overlapping labels).
Traverses the (directed) graph invoking the given function for each visited vertex and edge. The function is invoked with the current vertex and the incoming edge as a parameter. This implementation makes sure each vertex is only visited once. The function may return false if the traversal should stop at the given vertex.
Example:
GlobalConfig.logger.show();
const cell = graph.getSelectionCell();
graph.traverse(cell, false, function(vertex, edge)
{
GlobalConfig.logger.debug(graph.getLabel(vertex));
});
Extends GraphLayout for arranging parallel edges. This layout works on edges for all pairs of vertices where there is more than one edge connecting the latter.
Example:
To run the layout for the parallel edges of a changed edge only, the following code can be used.