Open
Graph Drawing
Framework
v.2012.07
Overview
Class Hierarchy
Class Index
Class List
Members
Namespaces
Source Files
MultilevelBuilder.h
Go to the documentation of this file.
1
/*
2
* $Revision: 2523 $
3
*
4
* last checkin:
5
* $Author: gutwenger $
6
* $Date: 2012-07-02 20:59:27 +0200 (Mon, 02 Jul 2012) $
7
***************************************************************/
8
43
#ifdef _MSC_VER
44
#pragma once
45
#endif
46
47
#ifndef OGDF_MULTILEVEL_BUILDER_H
48
#define OGDF_MULTILEVEL_BUILDER_H
49
50
#include <
ogdf/basic/Graph.h
>
51
#include <
ogdf/internal/energybased/MultilevelGraph.h
>
52
53
namespace
ogdf {
54
55
class
OGDF_EXPORT
MultilevelBuilder
56
{
57
private
:
68
virtual
bool
buildOneLevel(
MultilevelGraph
&MLG) = 0;
69
70
protected
:
71
// if set to true the length of the edge between two merged nodes will be added to
72
// all edges that are moved to the other node in this merge.
73
int
m_adjustEdgeLengths
;
74
int
m_numLevels
;
75
76
public
:
77
virtual
~MultilevelBuilder
() { }
78
MultilevelBuilder
():m_adjustEdgeLengths(0),m_numLevels(1) { }
79
80
virtual
void
buildAllLevels(
MultilevelGraph
&MLG)
81
{
82
m_numLevels = 1;
83
MLG.
updateReverseIndizes
();
84
MLG.
updateMergeWeights
();
85
while
(buildOneLevel(MLG))
86
{
87
m_numLevels++;
88
}
89
MLG.
updateReverseIndizes
();
90
}
91
92
void
setEdgeLengthAdjustment
(
int
factor) { m_adjustEdgeLengths = factor; }
93
int
getNumLevels
() {
return
m_numLevels;}
94
95
};
96
97
}
// namespace ogdf
98
99
#endif
ogdf
energybased
multilevelmixer
MultilevelBuilder.h
© 1999-2012 by
TU Dortmund
,
University of Jena
,
University of Cologne
,
University of Sydney
,
oreas GmbH