Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
SchnyderLayout.h
Go to the documentation of this file.
1
33#pragma once
34
35#include <ogdf/basic/Graph_d.h>
36#include <ogdf/basic/List.h>
38
39namespace ogdf {
40
61public:
63
70 VerticesMinusDepth,
74 Faces
77 };
78
80 CombinatorialObjects getCombinatorialObjects() { return m_combinatorialObjects; }
81
86
87protected:
89 IPoint& boundingBox, bool fixEmbedding) override;
90
91private:
92 void contract(Graph& G, node a, node b, node c, List<node>& L);
93
94 void realizer(GraphCopy& G, const List<node>& L, node a, node b, node c,
96
98
100 NodeArray<int>& sum);
101
103
106};
107
108}
Pure declaration header, find template implementation in Graph.h.
Declaration of interface for grid layout algorithms.
Declaration of doubly linked lists and iterators.
Class for adjacency list elements.
Definition Graph_d.h:79
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Copies of graphs supporting edge splitting.
Definition GraphCopy.h:254
Data type for general directed graphs (adjacency list representation).
Definition Graph_d.h:521
Representation of a graph's grid layout.
Definition GridLayout.h:46
Doubly linked lists (maintaining the length of the list).
Definition List.h:1435
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Class for the representation of nodes.
Definition Graph_d.h:177
Base class for planar grid layout algorithms.
The class SchnyderLayout represents the layout algorithm by Schnyder [Sch90].
void schnyderEmbedding(GraphCopy &GC, GridLayout &gridLayout, adjEntry adjExternal)
void setCombinatorialObjects(CombinatorialObjects combinatorialObjects)
Sets the type of combinatorial objects whose number corresponds to the node coordinates.
void contract(Graph &G, node a, node b, node c, List< node > &L)
CombinatorialObjects m_combinatorialObjects
Determines how the barycentric coordinates of each node are computed.
void subtreeSizes(EdgeArray< int > &rValues, int i, node r, NodeArray< int > &size)
CombinatorialObjects
Each node in a Schnyder wood splits the graph into three regions.
void realizer(GraphCopy &G, const List< node > &L, node a, node b, node c, EdgeArray< int > &rValues, GraphCopy &T)
CombinatorialObjects getCombinatorialObjects()
Returns the type of combinatorial objects whose number corresponds to the node coordinates.
virtual void doCall(const Graph &G, adjEntry adjExternal, GridLayout &gridLayout, IPoint &boundingBox, bool fixEmbedding) override
Implements the algorithm call.
void prefixSum(EdgeArray< int > &rValues, int i, node r, const NodeArray< int > &val, NodeArray< int > &sum)
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
int r[]
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.