Clustering mode (CL)

The Circular Layout algorithm has three clustering modes.
Example of selecting a clustering mode (CL algorithm)
To select a clustering mode:
Use the method:
layout.setClusteringMode(
        ibm_ilog.graphlayout.circular.CircularLayout.BY_CLUSTER_IDS);   
The valid values for mode are:
  • ibm_ilog.graphlayout.circular.CircularLayout.AUTOMATIC (the default): It is similar to the mode ibm_ilog.graphlayout.CircularLayout.BY_CLUSTER_IDS, but does not require any specification of clusters. The graph is divided into clusters by analyzing the topology of the graph. Biconnected components form initial clusters. The remaining nodes that do not belong to any (nontrivial) biconnected component form star clusters if their degree is larger than the star cluster threshold. Then, the initial clusters are merged if they are smaller than the minimal size of a cluster, or split if they are larger than the maximal size of a cluster. It arranges the nodes of each cluster so that the number of link crossings is small.
  • ibm_ilog.graphlayout.circular.CircularLayout.BY_CLUSTER_IDS: Cluster identifiers need to be explicitly provided for each node (see Cluster membership and order of the nodes on a cluster (CL)). The specified node ordering is preserved and no link crossing reduction is performed. A tree-like algorithm places the clusters.
  • ibm_ilog.graphlayout.circular.CircularLayout.BY_SUBGRAPHS: The algorithm handles a nested graph, including intergraph links. It arranges the nodes of each subgraph on a circle, so that the number of link crossings is small. It respects the intergraph links and rotates the cluster so that the number of link crossings is small. It assumes that all nodes are nearly square and that all nodes are in subgraphs, but the subgraph nesting is only 1. Nodes that are inside subgraphs of subgraphs are not handled. In this mode, each subgraph keeps its initial position. The subgraphs can be placed either by a different layout algorithm or interactively.