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.

    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>

    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.
    • Field Detail

      • 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 Detail

      • 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 Detail

      • 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.