Open
Graph Drawing
Framework

 v.2015.05
 

ogdf::ClusterPlanarizationLayout Class Reference

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. More...
 
virtual ~ClusterPlanarizationLayout ()
 
virtual void call (Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, bool simpleCConnect=true)
 Calls cluster planarization layout with cluster-graph attributes acGraph. More...
 
virtual void call (Graph &G, ClusterGraphAttributes &acGraph, ClusterGraph &cGraph, EdgeArray< double > &edgeWeight, bool simpleCConnect=true)
 Calls cluster planarization layout with cluster-graph attributes acGraph. More...
 
double pageRatio () const
 Returns the current page ratio (= desired width / height of layout). More...
 
void pageRatio (double ratio)
 Sets the page ratio to ratio. More...
 
void setPacker (CCLayoutPackModule *pPacker)
 Sets the module option for the arrangement of connected components to pPacker. More...
 
void setPlanarLayouter (LayoutClusterPlanRepModule *pPlanarLayouter)
 Sets the module option for the planar layout algorithm to pPlanarLayouter. More...
 

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!). More...
 
ModuleOption< CCLayoutPackModulem_packer
 The packing algorithm. More...
 
double m_pageRatio
 The page ratio. More...
 
ModuleOption< LayoutClusterPlanRepModulem_planarLayouter
 The planar layouter. More...
 

Detailed Description

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.

Optional parameters

OptionTypeDefaultDescription
pageRatiodouble1.0 Specifies the desired ration of width / height of the computed layout. It is currently only used when packing connected components.

Module options

The algorithm provides the following module options:

OptionTypeDefaultDescription
planarLayouterLayoutClusterPlanRepModuleClusterOrthoLayout The c-planar layout algorithm used to compute a c-planar layout of the c-planarized representation resulting from the crossing minimization step.
packerCCLayoutPackModuleTileToRowsCCPacker The packer module used for arranging connected components.

Definition at line 97 of file ClusterPlanarizationLayout.h.

Constructor & Destructor Documentation

ogdf::ClusterPlanarizationLayout::ClusterPlanarizationLayout ( )

Creates an instance of cluster planarization layout.

virtual ogdf::ClusterPlanarizationLayout::~ClusterPlanarizationLayout ( )
inlinevirtual

Definition at line 104 of file ClusterPlanarizationLayout.h.

Member Function Documentation

virtual void ogdf::ClusterPlanarizationLayout::call ( Graph G,
ClusterGraphAttributes acGraph,
ClusterGraph cGraph,
bool  simpleCConnect = true 
)
virtual

Calls cluster planarization layout with cluster-graph attributes acGraph.

Parameters
Gis the input graph.
acGraphis assigned the computed layout.
cGraphis the input cluster graph.
simpleCConnectIf set to true, c-connectivity is achieved by adding arbitrary edges (fast).
virtual void ogdf::ClusterPlanarizationLayout::call ( Graph G,
ClusterGraphAttributes acGraph,
ClusterGraph cGraph,
EdgeArray< double > &  edgeWeight,
bool  simpleCConnect = true 
)
virtual

Calls cluster planarization layout with cluster-graph attributes acGraph.

Parameters
Gis the input graph.
acGraphis assigned the computed layout.
cGraphis the input cluster graph.
edgeWeightallows to prefer lightweight edges for planar subgraph computation.
simpleCConnectIf set to true, c-connectivity is achieved by adding arbitrary edges (fast).
void ogdf::ClusterPlanarizationLayout::computeClusterPositions ( ClusterPlanRep CP,
Layout  drawing,
HashArray< int, ClusterPosition > &  CA 
)
protected
double ogdf::ClusterPlanarizationLayout::pageRatio ( ) const
inline

Returns the current page ratio (= desired width / height of layout).

Definition at line 137 of file ClusterPlanarizationLayout.h.

void ogdf::ClusterPlanarizationLayout::pageRatio ( double  ratio)
inline

Sets the page ratio to ratio.

Definition at line 142 of file ClusterPlanarizationLayout.h.

void ogdf::ClusterPlanarizationLayout::setPacker ( CCLayoutPackModule pPacker)
inline

Sets the module option for the arrangement of connected components to pPacker.

Definition at line 152 of file ClusterPlanarizationLayout.h.

void ogdf::ClusterPlanarizationLayout::setPlanarLayouter ( LayoutClusterPlanRepModule pPlanarLayouter)
inline

Sets the module option for the planar layout algorithm to pPlanarLayouter.

Definition at line 147 of file ClusterPlanarizationLayout.h.

Member Data Documentation

int ogdf::ClusterPlanarizationLayout::m_nCrossings
private

The number of crossings (not yet used!).

Definition at line 180 of file ClusterPlanarizationLayout.h.

ModuleOption<CCLayoutPackModule> ogdf::ClusterPlanarizationLayout::m_packer
private

The packing algorithm.

Definition at line 176 of file ClusterPlanarizationLayout.h.

double ogdf::ClusterPlanarizationLayout::m_pageRatio
private

The page ratio.

Definition at line 178 of file ClusterPlanarizationLayout.h.

ModuleOption<LayoutClusterPlanRepModule> ogdf::ClusterPlanarizationLayout::m_planarLayouter
private

The planar layouter.

Definition at line 175 of file ClusterPlanarizationLayout.h.


The documentation for this class was generated from the following file: