|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
150 virtual void call(
UMLGraph& umlGraph)
override;
160 bool l_saveCliqueHandling = m_processCliques;
161 m_processCliques =
false;
166 preProcess(umlGraph);
169 doSimpleCall(umlGraph);
175 postProcess(umlGraph);
178 m_processCliques = l_saveCliqueHandling;
189 virtual void callSimDraw(
UMLGraph ¨Graph);
193 * \brief Calls planarization layout with fixed embedding given by \p umlGraph.
194 * \pre The graph has no
self-loops.
195 * @param umlGraph is the input graph and will also be assigned the layout information.
196 * The fixed embedding is obtained from the layout information (
node
197 * coordinates, bend points) in \p umlGraph.
199 virtual void callFixEmbed(
UMLGraph ¨Graph);
233 int opts = m_planarLayouter->getOptions();
270 m_planarLayouter.reset(pPlanarLayouter);
287 int numberOfCrossings()
const {
return m_nCrossings; }
291 void assureDrawability(UMLGraph& umlGraph);
296 void doSimpleCall(GraphAttributes& GA);
299 void sortIncrementalNodes(List<node>& addNodes,
const NodeArray<bool>& fixedNodes);
300 void getFixationDistance(
node startNode, HashArray<int, int>& distance,
301 const NodeArray<bool>& fixedNodes);
303 void reembed(PlanRepUML& PG,
int ccNumber,
bool l_align =
false,
bool l_gensExist =
false);
305 virtual void preProcess(UMLGraph& UG);
306 virtual void postProcess(UMLGraph& UG);
308 void arrangeCCs(PlanRep& PG, GraphAttributes& GA, Array<DPoint>& boundingBox);
311 face findBestExternalFace(
const PlanRep& PG,
const CombinatorialEmbedding& E);
std::unique_ptr< CCLayoutPackModule > m_packer
The module for arranging connected components.
Declaration and implementation of HashArray class.
The namespace for all OGDF objects.
bool m_arrangeLabels
Option for re-arranging labels.
Stores additional attributes of a graph (like layout information).
Declaration of class GraphAttributes which extends a Graph by additional attributes.
void simpleCall(GraphAttributes &GA)
Simple call function.
Interface for planar UML layout algorithms.
Includes declaration of graph class.
void removeUnnecessaryBendsHV()
Removes unnecessary bend points in orthogonal segements.
int m_nCrossings
The number of crossings in the computed layout.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Declaration of interface for planar layout algorithms for UML diagrams (used in planarization approac...
std::unique_ptr< LayoutPlanRepUMLModule > m_planarLayouter
The module for computing a planar layout.
std::unique_ptr< UMLCrossingMinimizationModule > m_crossMin
The moule for UML crossing minimization.
void simpleCall(UMLGraph ¨Graph)
Simple call function that does not care about cliques etc.
void insertGenMergers()
Merges generalizations at a common superclass.
double m_pageRatio
The desired page ratio.
Declaration of class UMLGraph.
virtual ~PlanarizationLayoutUML()
void setEmbedder(EmbedderModule *pEmbedder)
Sets the module option for the graph embedding algorithm.
Base class of algorithms that arrange/pack layouts of connected components.
std::unique_ptr< EmbedderModule > m_embedder
The module for planar embedding.
Base class for UML crossing minimization algorithms.
void pageRatio(double ratio)
Sets the option pageRatio to ratio.
Declaration of orthogonal representation of planar graphs.
Interface of UML layout algorithms.
Declaration of interface for algorithms that arrange/pack layouts of connected components.
NodeElement * node
The type of nodes.
RegisteredArray for nodes, edges and adjEntries of a graph.
The planarization layout algorithm.
Declaration of CrossingMinimization Module, an interface for crossing minimization algorithms.
void setPlanarLayouter(LayoutPlanRepUMLModule *pPlanarLayouter)
Sets the module option for the planar layout algorithm.
Base class for embedder algorithms.
void setLayouterOptions(int ops)
Declaration of interface for layout algorithms for UML diagrams.
Basic declarations, included by all source files.
void call(GraphAttributes &GA)
Calls planarization layout for GraphAttributes GA and computes a layout.
Declaration of CombinatorialEmbedding and face.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Defines ogdf::EmbedderModule.
Declaration and implementation of Array class and Array algorithms.
Declaration of doubly linked lists and iterators.
void setPacker(CCLayoutPackModule *pPacker)
Sets the module option for the arrangement of connected components.
Class for the representation of nodes.
double pageRatio() const
Returns the current setting of option pageRatio.
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.