Class CircleLayout

Extends GraphLayout to implement a circular layout for a given radius. The vertices do not need to be connected for this layout to work and all connections between vertices are not taken into account.

Example:

const layout = new CircleLayout(graph);
layout.execute(graph.getDefaultParent());

Hierarchy (view full)

Constructors

Properties

disableEdgeStyle: boolean = true

Specifies if the STYLE_NOEDGESTYLE flag should be set on edges that are modified by the result. Default is true.

graph: Graph

Reference to the enclosing Graph.

moveCircle: boolean = false

Boolean specifying if the circle should be moved to the top, left corner specified by and . Default is false.

parent: null | Cell = null

The parent cell of the layout, if any

null
radius: number

Integer specifying the size of the radius. Default is 100.

resetEdges: boolean = true

Specifies if all edge points of traversed edges should be removed. Default is true.

useBoundingBox: boolean = true

Boolean indicating if the bounding box of the label should be used if it iss available.

true.
x0: number = 0

Integer specifying the left coordinate of the circle. Default is 0.

y0: number = 0

Integer specifying the top coordinate of the circle. Default is 0.

Methods

  • Executes the circular layout for the specified array of vertices and the given radius. This is called from .

    Parameters

    • vertices: Cell[]
    • r: number
    • left: number
    • top: number

    Returns void

  • 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.

    Parameters

    • key: string

      Key of the constraint to be returned.

    • cell: Cell

      Cell whose constraint should be returned.

    • Optionaledge: Cell

      Optional Cell that represents the connection whose constraint should be returned. Default is null.

    • Optionalsource: boolean

      Optional boolean that specifies if the connection is incoming or outgoing. Default is null.

    Returns any

  • Returns the radius to be used for the given vertex count. Max is the maximum width or height of all vertices in the layout.

    Parameters

    • count: number
    • max: number

    Returns number

  • Returns true if the given parent is an ancestor of the given child.

    Parameters

    • parent: Cell

      Cell that specifies the parent.

    • child: null | Cell

      Cell that specifies the child.

    • OptionaltraverseAncestors: boolean

      boolean whether to

    Returns boolean

  • Returns a boolean indicating if the given Cell is movable or bendable by the algorithm. This implementation returns true if the given cell is movable in the graph.

    Parameters

    • cell: Cell

      Cell whose movable state should be returned.

    Returns boolean

  • 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.

    Parameters

    • cell: Cell

      Cell which has been moved.

    • x: number

      X-coordinate of the new cell location.

    • y: number

      Y-coordinate of the new cell location.

    Returns void

  • 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).

    Parameters

    • cell: Cell

      Cell whose geometry is to be set.

    • x: number

      Integer that defines the x-coordinate of the new location.

    • y: number

      Integer that defines the y-coordinate of the new location.

    Returns null | Rectangle

  • 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));
    });

    Parameters

    • __namedParameters: GraphLayoutTraverseArgs

    Returns void