134 if (w > 0.0 && w <= 100.0) {
135 m_weightSegments = w;
144 if (w >= 0.0 && w <= 100.0) {
145 m_weightBalancing = w;
154 if (w > 0.0 && w <= 100.0) {
155 m_weightClusters = w;
Declaration of interface for hierarchy layout algorithms (3.
Dynamic arrays indexed with clusters.
Manages access on copy of an attributed clustered graph.
Interface of hierarchy layout algorithms for cluster graphs.
Doubly linked lists (maintaining the length of the list).
Dynamic arrays indexed with nodes.
The LP-based hierarchy cluster layout algorithm.
NodeArray< bool > m_isVirtual
ClusterArray< int > m_cIndex
virtual void doCall(const ExtendedNestingGraph &H, ClusterGraphCopyAttributes &ACGC) override
Implements the algorithm call.
double m_weightClusters
The weight for cluster boundary variables.
void weightClusters(double w)
Sets the weight for cluster boundary variables to w.
~OptimalHierarchyClusterLayout()
double layerDistance() const
Returns the minimal allowed y-distance between layers.
OptimalHierarchyClusterLayout()
Creates an instance of optimal hierarchy layout for clusters.
double m_nodeDistance
The minimal distance between nodes.
bool fixedLayerDistance() const
Returns the current setting of option fixedLayerDistance.
void computeXCoordinates(const ExtendedNestingGraph &H, ClusterGraphCopyAttributes &AGC)
void buildLayerList(const LHTreeNode *vNode, List< Tuple2< int, double > > &L)
void weightSegments(double w)
Sets the weight of edge segments connecting to vertical segments to w.
void fixedLayerDistance(bool b)
Sets the option fixedLayerDistance to b.
ClusterGraphCopyAttributes * m_pACGC
double weightSegments() const
Returns the weight of edge segments connecting to vertical segments.
bool m_fixedLayerDistance
Use fixed layer distances?
NodeArray< int > m_vIndex
void computeYCoordinates(const ExtendedNestingGraph &H, ClusterGraphCopyAttributes &AGC)
double weightBalancing() const
Returns the weight for balancing successors below a node; 0.0 means no balancing.
const ExtendedNestingGraph * m_pH
void layerDistance(double x)
Sets the minimal allowed y-distance between layers to x.
void weightBalancing(double w)
Sets the weight for balancing successors below a node to w; 0.0 means no balancing.
double m_weightSegments
The weight of edge segments.
OptimalHierarchyClusterLayout & operator=(const OptimalHierarchyClusterLayout &)
Assignment operator.
double m_weightBalancing
The weight for balancing.
double weightClusters() const
Returns the weight for cluster boundary variables.
OptimalHierarchyClusterLayout(const OptimalHierarchyClusterLayout &)
Copy constructor.
double nodeDistance() const
Returns the minimal allowed x-distance between nodes on a layer.
double m_layerDistance
The minimal distance between layers.
void nodeDistance(double x)
Sets the minimal allowed x-distance between nodes on a layer to x.
Tuples of two elements (2-tuples).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Declaration and implementation of class Tuple2, Tuple3 and Tuple4.