Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ClusterPlanarizationLayout.h
Go to the documentation of this file.
1 
33 #pragma once
34 
37 
38 #include <memory>
39 
40 namespace ogdf {
41 
43 
82 public:
85 
88 
90 
96  virtual void call(Graph& G, ClusterGraphAttributes& acGraph, ClusterGraph& cGraph,
97  bool simpleCConnect = true);
99 
106  virtual void call(Graph& G, ClusterGraphAttributes& acGraph, ClusterGraph& cGraph,
107  EdgeArray<double>& edgeWeight, bool simpleCConnect = true);
108 
110  double pageRatio() const { return m_pageRatio; }
111 
113  void pageRatio(double ratio) { m_pageRatio = ratio; }
114 
117  m_planarLayouter.reset(pPlanarLayouter);
118  }
119 
121  void setPacker(CCLayoutPackModule* pPacker) { m_packer.reset(pPacker); }
122 
123 #if 0
124  int numberOfCrossings() const {
126  return m_nCrossings;
127  }
128 #endif
129 
130 
131 protected:
133  double m_minx, m_maxx, m_miny, m_maxy, m_width, m_height;
134  };
135 
136  void computeClusterPositions(ClusterPlanRep& CP, Layout drawing,
138 
139 
140 private:
141  std::unique_ptr<LayoutClusterPlanRepModule> m_planarLayouter;
142  std::unique_ptr<CCLayoutPackModule> m_packer;
143 
144  double m_pageRatio;
145 
147 };
148 
149 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::ClusterPlanarizationLayout::setPacker
void setPacker(CCLayoutPackModule *pPacker)
Sets the module option for the arrangement of connected components to pPacker.
Definition: ClusterPlanarizationLayout.h:121
ogdf::ClusterPlanarizationLayout::m_planarLayouter
std::unique_ptr< LayoutClusterPlanRepModule > m_planarLayouter
The planar layouter.
Definition: ClusterPlanarizationLayout.h:141
ogdf::ClusterPlanRep
Planarized representations for clustered graphs.
Definition: ClusterPlanRep.h:47
ogdf::ClusterPlanarizationLayout
The cluster planarization layout algorithm.
Definition: ClusterPlanarizationLayout.h:81
ogdf::ClusterPlanarizationLayout::setPlanarLayouter
void setPlanarLayouter(LayoutClusterPlanRepModule *pPlanarLayouter)
Sets the module option for the planar layout algorithm to pPlanarLayouter.
Definition: ClusterPlanarizationLayout.h:116
ogdf::ClusterPlanarizationLayout::m_pageRatio
double m_pageRatio
The page ratio.
Definition: ClusterPlanarizationLayout.h:144
ogdf::CCLayoutPackModule
Base class of algorithms that arrange/pack layouts of connected components.
Definition: CCLayoutPackModule.h:46
ogdf::ClusterPlanarizationLayout::pageRatio
double pageRatio() const
Returns the current page ratio (= desired width / height of layout).
Definition: ClusterPlanarizationLayout.h:110
ogdf::ClusterGraphAttributes
Stores additional attributes of a clustered graph (like layout information).
Definition: ClusterGraphAttributes.h:46
ogdf::Layout
Stores a layout of a graph (coordinates of nodes, bend points of edges).
Definition: Layout.h:46
ogdf::ClusterPlanarizationLayout::pageRatio
void pageRatio(double ratio)
Sets the page ratio to ratio.
Definition: ClusterPlanarizationLayout.h:113
ogdf::ClusterPlanarizationLayout::m_packer
std::unique_ptr< CCLayoutPackModule > m_packer
The packing algorithm.
Definition: ClusterPlanarizationLayout.h:142
ogdf::HashArray
Indexed arrays using hashing for element access.
Definition: HashArray.h:93
CCLayoutPackModule.h
Declaration of interface for algorithms that arrange/pack layouts of connected components.
ogdf::ClusterPlanarizationLayout::ClusterPosition::m_width
double m_width
Definition: ClusterPlanarizationLayout.h:133
ogdf::Graph
Data type for general directed graphs (adjacency list representation).
Definition: Graph_d.h:862
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::ClusterPlanarizationLayout::m_nCrossings
int m_nCrossings
The number of crossings (not yet used!).
Definition: ClusterPlanarizationLayout.h:146
ogdf::ClusterGraph
Representation of clustered graphs.
Definition: ClusterGraph.h:339
ogdf::LayoutClusterPlanRepModule
Interface for planar cluster layout algorithms.
Definition: LayoutClusterPlanRepModule.h:46
ogdf::ClusterPlanarizationLayout::ClusterPosition
Definition: ClusterPlanarizationLayout.h:132
ogdf::internal::EdgeArrayBase2
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Definition: Graph_d.h:709
ogdf::ClusterPlanarizationLayout::~ClusterPlanarizationLayout
virtual ~ClusterPlanarizationLayout()
Destruction.
Definition: ClusterPlanarizationLayout.h:87