Class IndexedFRLayoutAlgorithm2D<V,​E>

  • Type Parameters:
    V - the graph vertex type
    E - the graph edge type
    All Implemented Interfaces:
    LayoutAlgorithm2D<V,​E>

    public class IndexedFRLayoutAlgorithm2D<V,​E>
    extends FRLayoutAlgorithm2D<V,​E>
    Fruchterman and Reingold Force-Directed Placement Algorithm using the Barnes-Hut indexing technique with a QuadTree. The Barnes-Hut indexing technique is described in the following paper:
    • J. Barnes and P. Hut. A hierarchical O(N log N) force-calculation algorithm. Nature. 324(4):446--449, 1986.
    • Field Detail

      • DEFAULT_THETA_FACTOR

        public static final double DEFAULT_THETA_FACTOR
        Default $\theta$ value for approximation using the Barnes-Hut technique
        See Also:
        Constant Field Values
      • theta

        protected double theta
      • savedComparisons

        protected long savedComparisons
    • Constructor Detail

      • IndexedFRLayoutAlgorithm2D

        public IndexedFRLayoutAlgorithm2D()
        Create a new layout algorithm
      • IndexedFRLayoutAlgorithm2D

        public IndexedFRLayoutAlgorithm2D​(int iterations,
                                          double theta)
        Create a new layout algorithm
        Parameters:
        iterations - number of iterations
        theta - parameter for approximation using the Barnes-Hut technique
      • IndexedFRLayoutAlgorithm2D

        public IndexedFRLayoutAlgorithm2D​(int iterations,
                                          double theta,
                                          double normalizationFactor)
        Create a new layout algorithm
        Parameters:
        iterations - number of iterations
        theta - parameter for approximation using the Barnes-Hut technique
        normalizationFactor - normalization factor for the optimal distance
      • IndexedFRLayoutAlgorithm2D

        public IndexedFRLayoutAlgorithm2D​(int iterations,
                                          double theta,
                                          double normalizationFactor,
                                          java.util.Random rng)
        Create a new layout algorithm
        Parameters:
        iterations - number of iterations
        theta - theta parameter for the Barnes-Hut approximation
        normalizationFactor - normalization factor for the optimal distance
        rng - the random number generator
      • IndexedFRLayoutAlgorithm2D

        public IndexedFRLayoutAlgorithm2D​(int iterations,
                                          double theta,
                                          double normalizationFactor,
                                          java.util.Random rng,
                                          double tolerance)
        Create a new layout algorithm
        Parameters:
        iterations - number of iterations
        theta - theta parameter for the Barnes-Hut approximation
        normalizationFactor - normalization factor for the optimal distance
        rng - the random number generator
        tolerance - tolerance used when comparing floating point values
    • Method Detail

      • getSavedComparisons

        public long getSavedComparisons()
        Get the total number of saved comparisons due to the Barnes-Hut technique.
        Returns:
        the total number of saved comparisons