The cluster planarization layout algorithm. More...
#include <ogdf/cluster/ClusterPlanarizationLayout.h>
Classes | |
struct | ClusterPosition |
Public Member Functions | |
ClusterPlanarizationLayout () | |
Creates an instance of cluster planarization layout. | |
virtual | ~ClusterPlanarizationLayout () |
Destruction. | |
virtual void | call (Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, bool simpleCConnect=true) |
Calls cluster planarization layout with cluster-graph attributes acGraph . | |
virtual void | call (Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, EdgeArray< double > &edgeWeight, bool simpleCConnect=true) |
Calls cluster planarization layout with cluster-graph attributes acGraph . | |
double | pageRatio () const |
Returns the current page ratio (= desired width / height of layout). | |
void | pageRatio (double ratio) |
Sets the page ratio to ratio . | |
void | setPacker (CCLayoutPackModule *pPacker) |
Sets the module option for the arrangement of connected components to pPacker . | |
void | setPlanarLayouter (LayoutClusterPlanRepModule *pPlanarLayouter) |
Sets the module option for the planar layout algorithm to pPlanarLayouter . | |
Protected Member Functions | |
void | computeClusterPositions (ClusterPlanRep &CP, Layout drawing, HashArray< int, ClusterPosition > &CA) |
Private Attributes | |
int | m_nCrossings |
The number of crossings (not yet used!). | |
std::unique_ptr< CCLayoutPackModule > | m_packer |
The packing algorithm. | |
double | m_pageRatio |
The page ratio. | |
std::unique_ptr< LayoutClusterPlanRepModule > | m_planarLayouter |
The planar layouter. | |
The cluster planarization layout algorithm.
The class ClusterPlanarizationLayout implements the planarization approach for drawing clustered graphs. Its implementation is based on the following publication:
Giuseppe Di Battista, Walter Didimo, A. Marcandalli: Planarization of Clustered Graphs. LNCS 2265 (Proc. Graph Drawing 2001), pp. 60-74.
Option | Type | Default | Description |
---|---|---|---|
pageRatio | double | 1.0 | Specifies the desired ration of width / height of the computed layout. It is currently only used when packing connected components. |
The algorithm provides the following module options:
Option | Type | Default | Description |
---|---|---|---|
planarLayouter | LayoutClusterPlanRepModule | ClusterOrthoLayout | The c-planar layout algorithm used to compute a c-planar layout of the c-planarized representation resulting from the crossing minimization step. |
packer | CCLayoutPackModule | TileToRowsCCPacker | The packer module used for arranging connected components. |
Definition at line 81 of file ClusterPlanarizationLayout.h.
ogdf::ClusterPlanarizationLayout::ClusterPlanarizationLayout | ( | ) |
Creates an instance of cluster planarization layout.
|
inlinevirtual |
Destruction.
Definition at line 87 of file ClusterPlanarizationLayout.h.
|
virtual |
Calls cluster planarization layout with cluster-graph attributes acGraph
.
G | is the input graph. |
acGraph | is assigned the computed layout. |
cGraph | is the input cluster graph. |
simpleCConnect | If set to true, c-connectivity is achieved by adding arbitrary edges (fast). |
|
virtual |
Calls cluster planarization layout with cluster-graph attributes acGraph
.
G | is the input graph. |
acGraph | is assigned the computed layout. |
cGraph | is the input cluster graph. |
edgeWeight | allows to prefer lightweight edges for planar subgraph computation. |
simpleCConnect | If set to true, c-connectivity is achieved by adding arbitrary edges (fast). |
|
protected |
|
inline |
Returns the current page ratio (= desired width / height of layout).
Definition at line 110 of file ClusterPlanarizationLayout.h.
Sets the page ratio to ratio
.
Definition at line 113 of file ClusterPlanarizationLayout.h.
|
inline |
Sets the module option for the arrangement of connected components to pPacker
.
Definition at line 121 of file ClusterPlanarizationLayout.h.
|
inline |
Sets the module option for the planar layout algorithm to pPlanarLayouter
.
Definition at line 116 of file ClusterPlanarizationLayout.h.
|
private |
The number of crossings (not yet used!).
Definition at line 146 of file ClusterPlanarizationLayout.h.
|
private |
The packing algorithm.
Definition at line 142 of file ClusterPlanarizationLayout.h.
|
private |
The page ratio.
Definition at line 144 of file ClusterPlanarizationLayout.h.
|
private |
The planar layouter.
Definition at line 141 of file ClusterPlanarizationLayout.h.