Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.