# SquarifiedPlusAlgorithm

class SquarifiedPlusAlgorithm : AbstractAlgorithm

Implementation of the Squarified+ algorithm. It is described in:

Cesarano A, Ferrucci F, Torre M. A heuristic extending the Squarified treemapping algorithm. arXiv preprint arXiv:1609.00754. 2016 Sep 2.

A heuristic extending the squarified algorithm with better aspect ratios and higher homogeneity among items.

Complexity: O(n), where n is the number of nodes in the tree.

## Constructors

SquarifiedPlusAlgorithm
Link copied to clipboard
constructor()

## Types

Companion
Link copied to clipboard
object Companion

## Properties

isChildContained
Link copied to clipboard
open override val isChildContained: Boolean
isColorParent
Link copied to clipboard
open override val isColorParent: Boolean
isRenderingLeafLabelsSupported
Link copied to clipboard
open override val isRenderingLeafLabelsSupported: Boolean
isRenderingParentLabelSupported
Link copied to clipboard
open override val isRenderingParentLabelSupported: Boolean
isSpaceFilling
Link copied to clipboard
open override val isSpaceFilling: Boolean
properties
Link copied to clipboard
open override val properties: MutableProperties<String?>

Properties for storing layout algorithm specific options.

## Functions

breadthFirstLayout
Link copied to clipboard
open override fun <N, Row, Column> breadthFirstLayout(shape: Shape, parent: N, children: Array<N>, sumSize: Double, horizontalVanishingPoint: Int, verticalVanishingPoint: Int, accessor: TreeMapAccessor<N>, worker: TreeMapWorker?): Boolean

{@inheritDoc}

depthFirstLayout
Link copied to clipboard
open override fun <N, Row, Column> depthFirstLayout(shape: Shape?, parent: N, children: Array<N>, sumSizes: Double, horizontalVanishingPoint: Int, verticalVanishingPoint: Int, accessor: TreeMapAccessor<N>, worker: TreeMapWorker?): Boolean

Arrange the items in the given array to fill the given shape. This is called during the first pass, while traversing the tree from the bottom up.

finishLayout
Link copied to clipboard
open override fun <N, Row, Column> finishLayout(bounds: Rectangle2D?, model: TreeMapModel<N, Row, Column>?, root: N)

Do nothing by default.

isCompatible
Link copied to clipboard
open override fun isCompatible(shape: Shape?): Boolean

Indicates whether the layout algorithm can handle the given geometry of its parent

iterator
Link copied to clipboard
open override fun <N, Row, Column> iterator(model: TreeMapModel<N, Row, Column>, root: N): Iterable<N>

Breadth first traversal by default.

startLayout
Link copied to clipboard
open override fun <N, Row, Column> startLayout(bounds: Rectangle2D?, model: TreeMapModel<N, Row, Column>, root: N, worker: TreeMapWorker?)

Do nothing by default.

toString
Link copied to clipboard
open override fun toString(): String