Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::ClusterOrthoShaper Class Reference

Computes the orthogonal representation of a clustered graph. More...

#include <ogdf/cluster/ClusterOrthoShaper.h>

Public Types

enum  BendCost { BendCost::defaultCost, BendCost::topDownCost, BendCost::bottomUpCost }
 
enum  n_type { n_type::low, n_type::high, n_type::inner, n_type::outer }
 

Public Member Functions

 ClusterOrthoShaper ()
 
 ~ClusterOrthoShaper ()
 
bool align ()
 
void align (bool al)
 
void bendCostTopDown (BendCost i)
 
void call (ClusterPlanRep &PG, CombinatorialEmbedding &E, OrthoRep &OR, int startBoundBendsPerEdge=0, bool fourPlanar=true)
 
int clusterProgBendCost (int clDepth, int treeDepth, int pbc)
 
int clusterTradBendCost (int clDepth, int treeDepth, int pbc)
 
bool distributeEdges ()
 returns option distributeEdges More...
 
void distributeEdges (bool b)
 sets option distributeEdges to b More...
 
bool fixDegreeFourAngles ()
 returns option for free angle assignment at degree four nodes More...
 
void fixDegreeFourAngles (bool b)
 sets option for free angle assignment at degree four nodes More...
 
bool multiAlign ()
 returns option multiAlign More...
 
void multiAlign (bool b)
 sets option multiAlign to b More...
 
bool traditional ()
 returns option for traditional angle distribution More...
 
void traditional (bool b)
 sets option traditional to b More...
 

Private Member Functions

void setAngleBound (edge netArc, int angle, EdgeArray< int > &lowB, EdgeArray< int > &upB, EdgeArray< edge > &aTwin, bool maxBound=true)
 

Private Attributes

bool m_align
 
bool m_allowLowZero
 
bool m_deg4free
 
bool m_distributeEdges
 
bool m_fourPlanar
 
bool m_multiAlign
 
BendCost m_topToBottom
 
bool m_traditional
 

Detailed Description

Computes the orthogonal representation of a clustered graph.

Definition at line 46 of file ClusterOrthoShaper.h.

Member Enumeration Documentation

◆ BendCost

Enumerator
defaultCost 
topDownCost 
bottomUpCost 

Definition at line 48 of file ClusterOrthoShaper.h.

◆ n_type

Enumerator
low 
high 
inner 
outer 

Definition at line 49 of file ClusterOrthoShaper.h.

Constructor & Destructor Documentation

◆ ClusterOrthoShaper()

ogdf::ClusterOrthoShaper::ClusterOrthoShaper ( )
inline

< try to distribute edges to all node sides

< do not allow zero degree angles at high degree

< do allow zero degree at low degree nodes

< true; //start/end side of multi edges match

< true; //if set to true, prefer 3/1 flow at degree 2 (false: 2/2)

< if set to true, free angle assignment at degree four nodes allowed

< if set to true, nodes are aligned on same hierarchy level

Definition at line 51 of file ClusterOrthoShaper.h.

◆ ~ClusterOrthoShaper()

ogdf::ClusterOrthoShaper::~ClusterOrthoShaper ( )
inline

Definition at line 62 of file ClusterOrthoShaper.h.

Member Function Documentation

◆ align() [1/2]

bool ogdf::ClusterOrthoShaper::align ( )
inline

Definition at line 107 of file ClusterOrthoShaper.h.

◆ align() [2/2]

void ogdf::ClusterOrthoShaper::align ( bool  al)
inline

Definition at line 105 of file ClusterOrthoShaper.h.

◆ bendCostTopDown()

void ogdf::ClusterOrthoShaper::bendCostTopDown ( BendCost  i)
inline

Definition at line 109 of file ClusterOrthoShaper.h.

◆ call()

void ogdf::ClusterOrthoShaper::call ( ClusterPlanRep PG,
CombinatorialEmbedding E,
OrthoRep OR,
int  startBoundBendsPerEdge = 0,
bool  fourPlanar = true 
)

◆ clusterProgBendCost()

int ogdf::ClusterOrthoShaper::clusterProgBendCost ( int  clDepth,
int  treeDepth,
int  pbc 
)
inline

Definition at line 112 of file ClusterOrthoShaper.h.

◆ clusterTradBendCost()

int ogdf::ClusterOrthoShaper::clusterTradBendCost ( int  clDepth,
int  treeDepth,
int  pbc 
)
inline

Definition at line 138 of file ClusterOrthoShaper.h.

◆ distributeEdges() [1/2]

bool ogdf::ClusterOrthoShaper::distributeEdges ( )
inline

returns option distributeEdges

Definition at line 81 of file ClusterOrthoShaper.h.

◆ distributeEdges() [2/2]

void ogdf::ClusterOrthoShaper::distributeEdges ( bool  b)
inline

sets option distributeEdges to b

Definition at line 84 of file ClusterOrthoShaper.h.

◆ fixDegreeFourAngles() [1/2]

bool ogdf::ClusterOrthoShaper::fixDegreeFourAngles ( )
inline

returns option for free angle assignment at degree four nodes

Definition at line 99 of file ClusterOrthoShaper.h.

◆ fixDegreeFourAngles() [2/2]

void ogdf::ClusterOrthoShaper::fixDegreeFourAngles ( bool  b)
inline

sets option for free angle assignment at degree four nodes

Definition at line 102 of file ClusterOrthoShaper.h.

◆ multiAlign() [1/2]

bool ogdf::ClusterOrthoShaper::multiAlign ( )
inline

returns option multiAlign

Definition at line 87 of file ClusterOrthoShaper.h.

◆ multiAlign() [2/2]

void ogdf::ClusterOrthoShaper::multiAlign ( bool  b)
inline

sets option multiAlign to b

Definition at line 90 of file ClusterOrthoShaper.h.

◆ setAngleBound()

void ogdf::ClusterOrthoShaper::setAngleBound ( edge  netArc,
int  angle,
EdgeArray< int > &  lowB,
EdgeArray< int > &  upB,
EdgeArray< edge > &  aTwin,
bool  maxBound = true 
)
inlineprivate

Definition at line 171 of file ClusterOrthoShaper.h.

◆ traditional() [1/2]

bool ogdf::ClusterOrthoShaper::traditional ( )
inline

returns option for traditional angle distribution

Definition at line 93 of file ClusterOrthoShaper.h.

◆ traditional() [2/2]

void ogdf::ClusterOrthoShaper::traditional ( bool  b)
inline

sets option traditional to b

Definition at line 96 of file ClusterOrthoShaper.h.

Member Data Documentation

◆ m_align

bool ogdf::ClusterOrthoShaper::m_align
private

Definition at line 165 of file ClusterOrthoShaper.h.

◆ m_allowLowZero

bool ogdf::ClusterOrthoShaper::m_allowLowZero
private

Definition at line 158 of file ClusterOrthoShaper.h.

◆ m_deg4free

bool ogdf::ClusterOrthoShaper::m_deg4free
private

Definition at line 160 of file ClusterOrthoShaper.h.

◆ m_distributeEdges

bool ogdf::ClusterOrthoShaper::m_distributeEdges
private

Definition at line 156 of file ClusterOrthoShaper.h.

◆ m_fourPlanar

bool ogdf::ClusterOrthoShaper::m_fourPlanar
private

Definition at line 157 of file ClusterOrthoShaper.h.

◆ m_multiAlign

bool ogdf::ClusterOrthoShaper::m_multiAlign
private

Definition at line 159 of file ClusterOrthoShaper.h.

◆ m_topToBottom

BendCost ogdf::ClusterOrthoShaper::m_topToBottom
private

Definition at line 167 of file ClusterOrthoShaper.h.

◆ m_traditional

bool ogdf::ClusterOrthoShaper::m_traditional
private

Definition at line 161 of file ClusterOrthoShaper.h.


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