Skip to main content

CircularLayout

A layout that places vertices in a circle, optionally with one at the center, and optionally centered around [width/2, height/2] (the default origin is 0,0).

Extends

Methods

begin()

begin(dataSource, positionGetter, positionSetter, sizes, parameters): void

This is an abstract function that subclasses may implement if they wish. It will be called at the beginning of a layout.

Parameters

dataSource

DataSource

The associated dataSource

positionGetter

(id) => PointXY

Function to get position for some element

positionSetter

(id, x, y) => void

Function to set position for some element. Updates current extents as it sets the position.

sizes

Record<string, Size>

Map of element sizes.

parameters

CircularLayoutParameters

Parameters configured for the layout.

Returns

void

Overrides

AbstractLayout.begin


end()

end(dataSource, getPosition, setPosition, sizes, parameters): void

This is an abstract function that subclasses may implement if they wish. It will be called at the end of a layout.

Parameters

dataSource

DataSource

The associated VisuallyJs model

getPosition

(id) => PointXY

setPosition

(id, x, y) => void

sizes

Record<string, Size>

Map of element sizes.

parameters

CircularLayoutParameters

Parameters configured for the layout.

Returns

void

Overrides

AbstractLayout.end


step()

step(dataSource, positionGetter, positionSetter, sizes, parameters): void

Step through the layout. For some layouts there is only a single step, but others continue stepping until some condition is met. Once the condition is met, the subclass must set this.done = true, or the layout will continue looping indefinitely.

Parameters

dataSource

DataSource

The associated VisuallyJs model

positionGetter

(id) => PointXY

positionSetter

(id, x, y) => void

sizes

Record<string, Size>

parameters

CircularLayoutParameters

Parameters configured for the layout.

Returns

void

Overrides

AbstractLayout.step