Package com.treemap.tagcloud

# Class AbstractTagCloudAlgorithm<Font>

java.lang.Object
com.treemap.AbstractAlgorithm
com.treemap.tagcloud.AbstractTagCloudAlgorithm<Font>

All Implemented Interfaces:
  `Algorithm`, `TagCloudAlgorithm`

public class AbstractTagCloudAlgorithm<Font> extends AbstractAlgorithm implements TagCloudAlgorithm

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from interface com.treemap.tagcloud.TagCloudAlgorithm

  `TagCloudAlgorithm.OrientationMode, TagCloudAlgorithm.Spiral`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `PROPERTY_FONT`
  `static final String`
  `PROPERTY_ORIENTATIONMODE`
  `static final String`
  `PROPERTY_SPIRAL`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractTagCloudAlgorithm(TextShapeFactory textShapeFactory, com.macrofocus.igraphics.CPFontFactory<Font> fontFactory)`
  `AbstractTagCloudAlgorithm(TextShapeFactory textShapeFactory, com.macrofocus.igraphics.CPFontFactory<Font> fontFactory, TagCloudAlgorithm.OrientationMode orientationMode, TagCloudAlgorithm.Spiral spiral, com.macrofocus.igraphics.CPFont<Font> font)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `breadthFirstLayout(com.macrofocus.geom.Shape shape, MutableTreeMapNode parent, MutableTreeMapNode[] children, double sumSizes, int horizontalVanishingPoint, int verticalVanishingPoint, TreeMapWorker worker)`
  Arrange the items in the given array to fill the given shape.
  `Font`
  `getFont()`
  `int`
  `getMaxTags()`
  `int`
  `getnSubdivisions()`
  `TagCloudAlgorithm.OrientationMode`
  `getOrientationMode()`
  `MutableProperties`
  `getProperties()`
  Properties for storing layout algorithm specific options.
  `com.macrofocus.geom.Shape`
  `getShape(Point2d offsetAbsolute, double scale, TextShape shape)`
  `TagCloudAlgorithm.Spiral`
  `getSpiral()`
  `boolean`
  `isCompatible(com.macrofocus.geom.Shape shape)`
  Indicates whether the layout algorithm can handle the given geometry of its parent
  `boolean`
  `isRenderingLeafLabelsSupported()`
  `boolean`
  `isRenderingParentLabelSupported()`
  `boolean`
  `isSpaceFilling()`
  `boolean`
  `newWordIntersectsPlacedWords(Word word, List<Word> placedWords)`
  `void`
  `setMaxTags(int maxTags)`
  `void`
  `setnSubdivisions(int nSubdivisions)`
  `String`
  `toString()`

  ### Methods inherited from class com.treemap.AbstractAlgorithm

  `depthFirstLayout, finishLayout, isChildContained, isColorParent, iterator, startLayout, sum`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.treemap.Algorithm

  `depthFirstLayout, finishLayout, isChildContained, isColorParent, iterator, startLayout`

- ## Field Details

  - ### PROPERTY_FONT

    public static final String PROPERTY_FONT
    See Also:
      - Constant Field Values

  - ### PROPERTY_ORIENTATIONMODE

    public static final String PROPERTY_ORIENTATIONMODE
    See Also:
      - Constant Field Values

  - ### PROPERTY_SPIRAL

    public static final String PROPERTY_SPIRAL
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### AbstractTagCloudAlgorithm

    public AbstractTagCloudAlgorithm(TextShapeFactory textShapeFactory, com.macrofocus.igraphics.CPFontFactory<Font> fontFactory)

  - ### AbstractTagCloudAlgorithm

    public AbstractTagCloudAlgorithm(TextShapeFactory textShapeFactory, com.macrofocus.igraphics.CPFontFactory<Font> fontFactory, TagCloudAlgorithm.OrientationMode orientationMode, TagCloudAlgorithm.Spiral spiral, com.macrofocus.igraphics.CPFont<Font> font)

- ## Method Details

  - ### getProperties

    public MutableProperties getProperties()
    Description copied from interface: `Algorithm`
    Properties for storing layout algorithm specific options.
    Specified by:
      `getProperties` in interface `Algorithm`
    Overrides:
      `getProperties` in class `AbstractAlgorithm`
    Returns:
      the specific properties of this algorithm

  - ### breadthFirstLayout

    public boolean breadthFirstLayout(com.macrofocus.geom.Shape shape, MutableTreeMapNode parent, MutableTreeMapNode[] children, double sumSizes, int horizontalVanishingPoint, int verticalVanishingPoint, TreeMapWorker worker)
    Description copied from interface: `Algorithm`
    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.
    Specified by:
      `breadthFirstLayout` in interface `Algorithm`
    Parameters:
      `shape` - the current rectangle being divided.
      `parent` - the parent node.
      `children` - the items to map.
      `sumSizes` - the size of the parent.
      `horizontalVanishingPoint` -
      `verticalVanishingPoint` -
      `worker` - the worker thread
    Returns:
      true if the layout has been cancelled, false otherwise

  - ### getShape

    public com.macrofocus.geom.Shape getShape(Point2d offsetAbsolute, double scale, TextShape shape)

  - ### newWordIntersectsPlacedWords

    public boolean newWordIntersectsPlacedWords(Word word, List<Word> placedWords)

  - ### isCompatible

    public boolean isCompatible(com.macrofocus.geom.Shape shape)
    Description copied from interface: `Algorithm`
    Indicates whether the layout algorithm can handle the given geometry of its parent
    Specified by:
      `isCompatible` in interface `Algorithm`
    Parameters:
      `shape` - the geometry of its parent
    Returns:
      true if it can lay out the children using the specified geometrical shape

  - ### isRenderingLeafLabelsSupported

    public boolean isRenderingLeafLabelsSupported()
    Specified by:
      `isRenderingLeafLabelsSupported` in interface `Algorithm`
    Overrides:
      `isRenderingLeafLabelsSupported` in class `AbstractAlgorithm`

  - ### isRenderingParentLabelSupported

    public boolean isRenderingParentLabelSupported()
    Specified by:
      `isRenderingParentLabelSupported` in interface `Algorithm`
    Overrides:
      `isRenderingParentLabelSupported` in class `AbstractAlgorithm`

  - ### getMaxTags

    public int getMaxTags()
    Specified by:
      `getMaxTags` in interface `TagCloudAlgorithm<Font>`

  - ### setMaxTags

    public void setMaxTags(int maxTags)
    Specified by:
      `setMaxTags` in interface `TagCloudAlgorithm<Font>`

  - ### getnSubdivisions

    public int getnSubdivisions()
    Specified by:
      `getnSubdivisions` in interface `TagCloudAlgorithm<Font>`

  - ### setnSubdivisions

    public void setnSubdivisions(int nSubdivisions)
    Specified by:
      `setnSubdivisions` in interface `TagCloudAlgorithm<Font>`

  - ### getFont

    public Font getFont()
    Specified by:
      `getFont` in interface `TagCloudAlgorithm<Font>`

  - ### getSpiral

    public TagCloudAlgorithm.Spiral getSpiral()
    Specified by:
      `getSpiral` in interface `TagCloudAlgorithm<Font>`

  - ### getOrientationMode

    public TagCloudAlgorithm.OrientationMode getOrientationMode()
    Specified by:
      `getOrientationMode` in interface `TagCloudAlgorithm<Font>`

  - ### isSpaceFilling

    public boolean isSpaceFilling()
    Specified by:
      `isSpaceFilling` in interface `Algorithm`
    Overrides:
      `isSpaceFilling` in class `AbstractAlgorithm`

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`