Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ClusterOrthoLayout.h
Go to the documentation of this file.
1 
33 #pragma once
34 
39 
40 namespace ogdf {
41 
43 
47 public:
50 
51 
58  void call(ClusterPlanRep& PG, adjEntry adjExternal, Layout& drawing);
59 
61  virtual void call(ClusterPlanRep& PG, adjEntry adjExternal, Layout& drawing,
62  List<edge>& origEdges, Graph& originalGraph) override;
63 
64  //
65  // options
66 
68  virtual double separation() const override { return m_separation; }
69 
71  virtual void separation(double sep) override { m_separation = sep; }
72 
74  //distance between the glue point of an edge and a corner of the vertex boundary
75  double cOverhang() const { return m_cOverhang; }
76 
78  void cOverhang(double c) { m_cOverhang = c; }
79 
81  double margin() const { return m_margin; }
82 
84  void margin(double m) { m_margin = m; }
85 
87  OrthoDir preferedDir() const { return m_preferedDir; }
88 
90  void preferedDir(OrthoDir dir) { m_preferedDir = dir; }
91 
93  int costAssoc() const { return m_costAssoc; }
94 
96  void costAssoc(int c) { m_costAssoc = c; }
97 
99  int costGen() const { return m_costGen; }
100 
102  void costGen(int c) { m_costGen = c; }
103 
105  void optionProfile(int i) { m_optionProfile = i; }
106 
108  void align(bool b) { m_align = b; }
109 
111  void scaling(bool b) { m_useScalingCompaction = b; }
112 
114  //Necessary to allow setting over base class pointer
115  //bit 0 = alignment
116  //bit 1 = scaling
117  //bit 2 = progressive/traditional
118  //=> 0 is standard
119  virtual void setOptions(int optionField) override {
120  m_align = (optionField & 1) != 0;
121  m_useScalingCompaction = (optionField & 2) != 0;
122  m_orthoStyle = (optionField & 4) != 0;
123  // m_orthoStyle = 0 is traditional
124  }
125 
126 
127 private:
128  // compute bounding box and move final drawing such that it is 0 aligned
129  // respecting margins
130  void computeBoundingBox(const ClusterPlanRep& PG, Layout& drawing);
131 
132 
133  // options
134  double m_separation;
135  double m_cOverhang;
136  double m_margin;
140  int m_costGen;
141  //align merger sons on same level
142  bool m_align;
143  //settings for scaling compaction
147 };
148 
149 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::ClusterOrthoLayout::costAssoc
void costAssoc(int c)
Sets cost of associations which is used in the compactions step.
Definition: ClusterOrthoLayout.h:96
ogdf::OrthoDir
OrthoDir
Definition: OrthoRep.h:50
ogdf::ClusterOrthoLayout::cOverhang
void cOverhang(double c)
Sets cOverhang value.
Definition: ClusterOrthoLayout.h:78
ogdf::ClusterPlanRep
Planarized representations for clustered graphs.
Definition: ClusterPlanRep.h:47
ogdf::ClusterOrthoLayout::m_optionProfile
int m_optionProfile
Definition: ClusterOrthoLayout.h:138
ogdf::ClusterOrthoLayout::m_margin
double m_margin
Distance between bounding box and drawing boundary.
Definition: ClusterOrthoLayout.h:136
ogdf::ClusterOrthoLayout::margin
double margin() const
Returns the distance from the tight bounding box to the boundary of the drawing.
Definition: ClusterOrthoLayout.h:81
ClusterPlanRep.h
Declaration of ClusterPlanRep class, allowing cluster boundary insertion and shortest path edge inser...
ogdf::ClusterOrthoLayout::separation
virtual void separation(double sep) override
Sets the minimum distance between edges and vertices.
Definition: ClusterOrthoLayout.h:71
ogdf::AdjElement
Class for adjacency list elements.
Definition: Graph_d.h:135
ogdf::ClusterOrthoLayout::setOptions
virtual void setOptions(int optionField) override
Sets generic options by setting field bits.
Definition: ClusterOrthoLayout.h:119
ogdf::ClusterOrthoLayout::scaling
void scaling(bool b)
Sets scaling option for compaction step.
Definition: ClusterOrthoLayout.h:111
ogdf::Layout
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Definition: Layout.h:46
ogdf::ClusterOrthoLayout::m_costGen
int m_costGen
Compaction cost of generalizations type edges.
Definition: ClusterOrthoLayout.h:140
ogdf::ClusterOrthoLayout
Represents a planar orthogonal drawing algorithm for c-planar, c-connected clustered graphs.
Definition: ClusterOrthoLayout.h:46
OrthoRep.h
Declaration of orthogonal representation of planar graphs.
ogdf::ClusterOrthoLayout::m_separation
double m_separation
Minimum distance between edges and vertices.
Definition: ClusterOrthoLayout.h:134
ogdf::ClusterOrthoLayout::m_cOverhang
double m_cOverhang
Factor for minimum distance between vertex corner an adjacent edges.
Definition: ClusterOrthoLayout.h:135
ogdf::ClusterOrthoLayout::optionProfile
void optionProfile(int i)
Sets the option profile, thereby fixing a set of drawing options.
Definition: ClusterOrthoLayout.h:105
ogdf::ClusterOrthoLayout::costGen
int costGen() const
Returns cost of generalizations.
Definition: ClusterOrthoLayout.h:99
ogdf::ClusterOrthoLayout::m_costAssoc
int m_costAssoc
Compaction cost of association type edges.
Definition: ClusterOrthoLayout.h:139
ogdf::ClusterOrthoLayout::separation
virtual double separation() const override
Returns the minimum distance between edges and vertices.
Definition: ClusterOrthoLayout.h:68
ogdf::ClusterOrthoLayout::m_scalingSteps
int m_scalingSteps
Number of scaling steps during compaction.
Definition: ClusterOrthoLayout.h:145
ogdf::ClusterOrthoLayout::margin
void margin(double m)
Sets the distance from the tight bounding box to the boundary of the drawing.
Definition: ClusterOrthoLayout.h:84
CPlanarEdgeInserter.h
Declares CPlanarEdgeInserter class.
ogdf::List< edge >
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
ogdf::ClusterOrthoLayout::cOverhang
double cOverhang() const
Returns cOverhang, where cOverhang * separation defines the minimum.
Definition: ClusterOrthoLayout.h:75
ogdf::ClusterOrthoLayout::m_align
bool m_align
Horizontal alignment option.
Definition: ClusterOrthoLayout.h:142
ogdf::ClusterOrthoLayout::m_orthoStyle
int m_orthoStyle
Type of style (traditional/progressive) used for shape step.
Definition: ClusterOrthoLayout.h:146
ogdf::ClusterOrthoLayout::costAssoc
int costAssoc() const
Returns cost of associations which is used in the compactions step.
Definition: ClusterOrthoLayout.h:93
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
LayoutClusterPlanRepModule.h
Declaration of interface for planar layout algorithms for UML diagrams (used in planarization approac...
ogdf::ClusterOrthoLayout::align
void align(bool b)
Sets alignment option.
Definition: ClusterOrthoLayout.h:108
ogdf::ClusterOrthoLayout::costGen
void costGen(int c)
Sets cost of generalizations.
Definition: ClusterOrthoLayout.h:102
ogdf::ClusterOrthoLayout::m_useScalingCompaction
bool m_useScalingCompaction
Switches scaling improvement during compaction.
Definition: ClusterOrthoLayout.h:144
ogdf::ClusterOrthoLayout::preferedDir
void preferedDir(OrthoDir dir)
Sets the preferred direction of generalizations.
Definition: ClusterOrthoLayout.h:90
ogdf::LayoutClusterPlanRepModule
Interface for planar cluster layout algorithms.
Definition: LayoutClusterPlanRepModule.h:46
ogdf::ClusterOrthoLayout::preferedDir
OrthoDir preferedDir() const
Returns the preferred direction of generalizations.
Definition: ClusterOrthoLayout.h:87
ogdf::ClusterOrthoLayout::m_preferedDir
OrthoDir m_preferedDir
Preferred direction of generalizations (obsolete).
Definition: ClusterOrthoLayout.h:137