Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ComponentSplitterLayout.h
Go to the documentation of this file.
1 
32 #pragma once
33 
36 #include <ogdf/basic/geometry.h>
39 
40 #include <memory>
41 #include <vector>
42 
43 namespace ogdf {
44 
46 private:
47  std::unique_ptr<LayoutModule> m_secondaryLayout;
48  std::unique_ptr<CCLayoutPackModule> m_packer;
49 
50  double m_targetRatio;
51  int m_border;
52 
56  void reassembleDrawings(GraphAttributes& GA, const Graph::CCsInfo& ccs);
57 
58 public:
60 
61  void call(GraphAttributes& GA) override;
62 
63  void setLayoutModule(LayoutModule* layout) { m_secondaryLayout.reset(layout); }
64 
65  void setPacker(CCLayoutPackModule* packer) { m_packer.reset(packer); }
66 
67  void setBorder(int border) { m_border = border; }
68 };
69 
70 }
ogdf
The namespace for all OGDF objects.
Definition: AugmentationModule.h:36
ogdf::GraphAttributes
Stores additional attributes of a graph (like layout information).
Definition: GraphAttributes.h:66
GraphAttributes.h
Declaration of class GraphAttributes which extends a Graph by additional attributes.
ogdf::Graph::CCsInfo
Info structure for maintaining connected components.
Definition: Graph_d.h:1900
geometry.h
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
ogdf::ComponentSplitterLayout::setLayoutModule
void setLayoutModule(LayoutModule *layout)
Definition: ComponentSplitterLayout.h:63
ogdf::ComponentSplitterLayout::setBorder
void setBorder(int border)
Definition: ComponentSplitterLayout.h:67
ogdf::ComponentSplitterLayout::m_packer
std::unique_ptr< CCLayoutPackModule > m_packer
Definition: ComponentSplitterLayout.h:48
LayoutModule.h
Declaration of interface for layout algorithms (class LayoutModule)
ogdf::CCLayoutPackModule
Base class of algorithms that arrange/pack layouts of connected components.
Definition: CCLayoutPackModule.h:46
ogdf::ComponentSplitterLayout::m_targetRatio
double m_targetRatio
Definition: ComponentSplitterLayout.h:50
ogdf::ComponentSplitterLayout::setPacker
void setPacker(CCLayoutPackModule *packer)
Definition: ComponentSplitterLayout.h:65
CCLayoutPackModule.h
Declaration of interface for algorithms that arrange/pack layouts of connected components.
ogdf::ComponentSplitterLayout::m_border
int m_border
Definition: ComponentSplitterLayout.h:51
ogdf::ComponentSplitterLayout::m_secondaryLayout
std::unique_ptr< LayoutModule > m_secondaryLayout
Definition: ComponentSplitterLayout.h:47
MultilevelGraph.h
MLG is the main data structure for ModularMultilevelMixer.
OGDF_EXPORT
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition: config.h:101
ogdf::ComponentSplitterLayout
Definition: ComponentSplitterLayout.h:45
ogdf::LayoutModule
Interface of general layout algorithms.
Definition: LayoutModule.h:44