Open
Graph Drawing
Framework

 v.2010.10
 

Classes | Public Member Functions | Protected Member Functions | Private Attributes

ogdf::ClusterPlanarizationLayout Class Reference

The cluster planarization layout algorithm. More...

#include <ogdf/cluster/ClusterPlanarizationLayout.h>

List of all members.

Classes

struct  ClusterPosition

Public Member Functions

 ClusterPlanarizationLayout ()
 Creates an instance of cluster planarization layout.
virtual ~ClusterPlanarizationLayout ()
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 setPlanarLayouter (LayoutClusterPlanRepModule *pPlanarLayouter)
 Sets the module option for the planar layout algorithm to pPlanarLayouter.
void setPacker (CCLayoutPackModule *pPacker)
 Sets the module option for the arrangement of connected components to pPacker.

Protected Member Functions

void computeClusterPositions (ClusterPlanRep &CP, Layout drawing, HashArray< int, ClusterPosition > &CA)

Private Attributes

ModuleOption
< LayoutClusterPlanRepModule
m_planarLayouter
 The planar layouter.
ModuleOption< CCLayoutPackModulem_packer
 The packing algorithm.
double m_pageRatio
 The page ratio.
int m_nCrossings
 The number of crossings (not yet used!).

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 105 of file ClusterPlanarizationLayout.h.


Constructor & Destructor Documentation

ogdf::ClusterPlanarizationLayout::ClusterPlanarizationLayout (  ) 

Creates an instance of cluster planarization layout.

virtual ogdf::ClusterPlanarizationLayout::~ClusterPlanarizationLayout (  )  [inline, virtual]

Definition at line 70 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:
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 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:
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).
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 101 of file ClusterPlanarizationLayout.h.

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

Sets the page ratio to ratio.

Definition at line 106 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 116 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 111 of file ClusterPlanarizationLayout.h.


Member Data Documentation

The number of crossings (not yet used!).

Definition at line 144 of file ClusterPlanarizationLayout.h.

The packing algorithm.

Definition at line 140 of file ClusterPlanarizationLayout.h.

The page ratio.

Definition at line 142 of file ClusterPlanarizationLayout.h.

The planar layouter.

Definition at line 139 of file ClusterPlanarizationLayout.h.


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