Class AbstractPartitionLayoutTask

All Implemented Interfaces:
Task
Direct Known Subclasses:
AbstractParallelPartitionLayoutTask

public abstract class AbstractPartitionLayoutTask extends AbstractLayoutTask
This is a more helpful implementation of a LayoutAlgorithm Task that extends AbstractBasicLayoutTask and does the work of partitioning the CyNetworkView so that partitions may be laid out individually. Extensions of this class are meant to implement the layoutPartition() method and operate on the LayoutParition object that is passed to that method as an argument.

Cytoscape Backwards Compatibility (Abstract Class): This class is abstract and meant to be extended by users. This means that we may add methods for minor version updates. Methods will only be removed for major version updates.

Module: layout-api

To use this in your app, include the following dependency in your POM:

<dependency>
    <groupId>org.cytoscape</groupId>
    <artifactId>layout-api</artifactId>
</dependency>
  • Field Details

    • logger

      protected static org.slf4j.Logger logger
    • taskMonitor

      protected TaskMonitor taskMonitor
      The TaskMonitor initially set in the run method of the task. Used to track the layout progress.
    • incr

      protected double incr
      The value used for spacing nodes. Defaults to 100.
    • partitionList

      protected List<LayoutPartition> partitionList
      The list of LayoutPartition objects that get laid out.
    • edgeWeighter

      protected EdgeWeighter edgeWeighter
      The EdgeWeighter used for edge weight calculations.
    • current_start

      protected double current_start
      Starting node number used for taskMonitor.
    • current_size

      protected double current_size
      Partition size used for taskMonitor.
    • total_nodes

      protected double total_nodes
      Total number of nodes used for taskMonitor.
  • Constructor Details

    • AbstractPartitionLayoutTask

      public AbstractPartitionLayoutTask(String displayName, boolean singlePartition, CyNetworkView networkView, Set<View<CyNode>> nodesToLayOut, String layoutAttribute, UndoSupport undo)
      Creates a new AbstractPartitionLayoutTask object.
      Parameters:
      name - The name of the layout algorithm.
      singlePartition - Whether this layout algorithm should execute on a single partition instead of multiple partitions.
      networkView - the CyNetworkView being partitioned.
      nodesToLayOut - the set of nodes to layout.
      layoutAttribute - the name of the attribute to use for this layout. Allowed to be empty or null.
  • Method Details

    • layoutPartition

      public abstract void layoutPartition(LayoutPartition partition)
      Override this method and layout the LayoutPartion just like you would a NetworkView.
      Parameters:
      partition - The LayoutPartition to be laid out.
    • setTaskStatus

      protected void setTaskStatus(int percent)
      Used for
      Parameters:
      percent - The percentage of completion for this partition. Value must be between 0 and 100.
    • doLayout

      public void doLayout(TaskMonitor taskMonitor)
      AbstractGraphPartitionLayout implements the doLayout method of AbstractBasicLayout in which it calls the layoutParition method on each LayoutPartition object created for the network.
      Specified by:
      doLayout in class AbstractLayoutTask
      Parameters:
      taskMonitor - the TaskMonitor provided by the run() method of the Task.
    • calculate_max_dimension

      protected double calculate_max_dimension(double width, double height, double screen_width, double screen_height, List<LayoutPartition> partitionList)