Class SquarifiedPlusAlgorithm

  • All Implemented Interfaces:
    Algorithm

    public class SquarifiedPlusAlgorithm
    extends 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.

    • Constructor Detail

      • SquarifiedPlusAlgorithm

        public SquarifiedPlusAlgorithm()
    • Method Detail

      • breadthFirstLayout

        public boolean breadthFirstLayout​(java.awt.Shape shape,
                                          MutableTreeMapNode parent,
                                          MutableTreeMapNode[] children,
                                          double sumSize,
                                          int horizontalVanishingPoint,
                                          int verticalVanishingPoint,
                                          TreeMapWorker worker)
        Arrange the items in the given array to fill the given shape. This is called during the first pass, while traversing the tree top down.
        Parameters:
        shape - the current rectangle being divided.
        parent - the parent node.
        children - the items to map.
        sumSize - the size of the parent.
        worker - the worker thread
        Returns:
        true if the layout has been cancelled, false otherwise
      • isCompatible

        public boolean isCompatible​(java.awt.Shape shape)
        Description copied from interface: Algorithm
        Indicates whether the layout algorithm can handle the given geometry of its parent
        Parameters:
        shape - the geometry of its parent
        Returns:
        true if it can lay out the children using the specified geometrical shape
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object