Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ogdf::FlowCompaction Class Reference

represents compaction algorithm using min-cost flow in the dual of the constraint graph More...

#include <ogdf/orthogonal/FlowCompaction.h>

Public Member Functions

 FlowCompaction (int maxImprovementSteps=0, int costGen=1, int costAssoc=1)
 construction
 
void align (bool b)
 set alignment option
 
void constructiveHeuristics (PlanRep &PG, OrthoRep &OR, const RoutingChannel< int > &rc, GridLayoutMapped &drawing)
 call of constructive heuristics for orthogonal representation
 
int costAssoc () const
 returns option costGen
 
void costAssoc (int c)
 sets cost of arcs in constraint graph corresponding to associations
 
int costGen () const
 returns option costGen
 
void costGen (int c)
 sets cost of arcs in constraint graph corresponding to generalizations
 
void improvementHeuristics (PlanRep &PG, OrthoRep &OR, const RoutingChannel< int > &rc, GridLayoutMapped &drawing)
 call of improvement heuristics for orthogonal drawing (variable cages)
 
void improvementHeuristics (PlanRep &PG, OrthoRep &OR, MinimumEdgeDistances< int > &minDist, GridLayoutMapped &drawing, int originalSeparation)
 call of improvement heuristics for orthogonal drawing (tight cages)
 
int maxImprovementSteps () const
 returns option maxImprovementSteps
 
void maxImprovementSteps (int maxSteps)
 sets option maxImprovementSteps, which is the maximal number of steps performed by improvementHeuristics().
 
void scalingSteps (int sc)
 sets number of separation scaling improvement steps
 

Private Member Functions

void computeCoords (CompactionConstraintGraph< int > &D, NodeArray< int > &pos, bool fixZeroLength=false, bool fixVertexSize=false, bool improvementHeuristics=false, bool onlyGen=false)
 
void dfsAssignPos (NodeArray< bool > &visited, NodeArray< int > &pos, node v, int x)
 

Private Attributes

bool m_align
 toggle if brother nodes in hierarchies should be aligned
 
bool m_cageExpense
 should cageedges be more expensive than others? will be propagated to compactionConstraintGraph
 
int m_costAssoc
 cost of arcs in constraint graph corresponding to associations
 
int m_costGen
 cost of arcs in constraint graph corresponding to generalization
 
EdgeArray< edgem_dualEdge
 
EdgeArray< intm_flow
 
int m_maxImprovementSteps
 maximal number of improvement steps
 
int m_numGenSteps
 number of steps reserved for generalization compaction
 
int m_scalingSteps
 number of improvement steps with decreasing separation
 

Detailed Description

represents compaction algorithm using min-cost flow in the dual of the constraint graph

Definition at line 48 of file FlowCompaction.h.

Constructor & Destructor Documentation

◆ FlowCompaction()

ogdf::FlowCompaction::FlowCompaction ( int  maxImprovementSteps = 0,
int  costGen = 1,
int  costAssoc = 1 
)
explicit

construction

Member Function Documentation

◆ align()

void ogdf::FlowCompaction::align ( bool  b)
inline

set alignment option

Definition at line 96 of file FlowCompaction.h.

◆ computeCoords()

void ogdf::FlowCompaction::computeCoords ( CompactionConstraintGraph< int > &  D,
NodeArray< int > &  pos,
bool  fixZeroLength = false,
bool  fixVertexSize = false,
bool  improvementHeuristics = false,
bool  onlyGen = false 
)
private

◆ constructiveHeuristics()

void ogdf::FlowCompaction::constructiveHeuristics ( PlanRep PG,
OrthoRep OR,
const RoutingChannel< int > &  rc,
GridLayoutMapped drawing 
)

call of constructive heuristics for orthogonal representation

◆ costAssoc() [1/2]

int ogdf::FlowCompaction::costAssoc ( ) const
inline

returns option costGen

Definition at line 90 of file FlowCompaction.h.

◆ costAssoc() [2/2]

void ogdf::FlowCompaction::costAssoc ( int  c)
inline

sets cost of arcs in constraint graph corresponding to associations

Definition at line 87 of file FlowCompaction.h.

◆ costGen() [1/2]

int ogdf::FlowCompaction::costGen ( ) const
inline

returns option costGen

Definition at line 84 of file FlowCompaction.h.

◆ costGen() [2/2]

void ogdf::FlowCompaction::costGen ( int  c)
inline

sets cost of arcs in constraint graph corresponding to generalizations

Definition at line 81 of file FlowCompaction.h.

◆ dfsAssignPos()

void ogdf::FlowCompaction::dfsAssignPos ( NodeArray< bool > &  visited,
NodeArray< int > &  pos,
node  v,
int  x 
)
private

◆ improvementHeuristics() [1/2]

void ogdf::FlowCompaction::improvementHeuristics ( PlanRep PG,
OrthoRep OR,
const RoutingChannel< int > &  rc,
GridLayoutMapped drawing 
)

call of improvement heuristics for orthogonal drawing (variable cages)

◆ improvementHeuristics() [2/2]

void ogdf::FlowCompaction::improvementHeuristics ( PlanRep PG,
OrthoRep OR,
MinimumEdgeDistances< int > &  minDist,
GridLayoutMapped drawing,
int  originalSeparation 
)

call of improvement heuristics for orthogonal drawing (tight cages)

◆ maxImprovementSteps() [1/2]

int ogdf::FlowCompaction::maxImprovementSteps ( ) const
inline

returns option maxImprovementSteps

Definition at line 78 of file FlowCompaction.h.

◆ maxImprovementSteps() [2/2]

void ogdf::FlowCompaction::maxImprovementSteps ( int  maxSteps)
inline

sets option maxImprovementSteps, which is the maximal number of steps performed by improvementHeuristics().

Definition at line 75 of file FlowCompaction.h.

◆ scalingSteps()

void ogdf::FlowCompaction::scalingSteps ( int  sc)
inline

sets number of separation scaling improvement steps

Definition at line 93 of file FlowCompaction.h.

Member Data Documentation

◆ m_align

bool ogdf::FlowCompaction::m_align
private

toggle if brother nodes in hierarchies should be aligned

Definition at line 113 of file FlowCompaction.h.

◆ m_cageExpense

bool ogdf::FlowCompaction::m_cageExpense
private

should cageedges be more expensive than others? will be propagated to compactionConstraintGraph

Definition at line 109 of file FlowCompaction.h.

◆ m_costAssoc

int ogdf::FlowCompaction::m_costAssoc
private

cost of arcs in constraint graph corresponding to associations

Definition at line 108 of file FlowCompaction.h.

◆ m_costGen

int ogdf::FlowCompaction::m_costGen
private

cost of arcs in constraint graph corresponding to generalization

Definition at line 107 of file FlowCompaction.h.

◆ m_dualEdge

EdgeArray<edge> ogdf::FlowCompaction::m_dualEdge
private

Definition at line 115 of file FlowCompaction.h.

◆ m_flow

EdgeArray<int> ogdf::FlowCompaction::m_flow
private

Definition at line 116 of file FlowCompaction.h.

◆ m_maxImprovementSteps

int ogdf::FlowCompaction::m_maxImprovementSteps
private

maximal number of improvement steps

Definition at line 106 of file FlowCompaction.h.

◆ m_numGenSteps

int ogdf::FlowCompaction::m_numGenSteps
private

number of steps reserved for generalization compaction

Definition at line 111 of file FlowCompaction.h.

◆ m_scalingSteps

int ogdf::FlowCompaction::m_scalingSteps
private

number of improvement steps with decreasing separation

Definition at line 112 of file FlowCompaction.h.


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