|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
83 node getTrivialPartnerPole()
const;
86 for (
auto leaf : getLeaves()) {
87 mapping[getIncidentEdgeForLeaf(leaf)] = leaf;
105 for (
auto leaf : getLeaves()) {
106 mapping[getGraphNodeForInnerNode(leaf)] = leaf;
118 for (
auto leaf : getLeaves()) {
119 mapping[getIncidentEdgeForLeaf(leaf)] = &getPartnerEdgesForLeaf(leaf);
137 if (m_bundleEdgesForLeaf.registeredAt() ==
nullptr) {
140 return &m_bundleEdgesForLeaf.registeredAt()->getForest() == getForest();
159 std::function<void(std::ostream& os,
PCNode*,
int)> uidPrinter()
const;
165 std::function<bool(
PCNode*,
PCNode*)> uidComparer()
const;
170 [[nodiscard]]
const char*
what() const noexcept
override {
return "Graph is not planar"; }
Dynamic arrays indexed with arbitrary keys.
Includes declaration of graph class.
A PC-tree represents a set of cyclic orders of its leaves by labeling its inner nodes as either P- or...
An intrusive list for the leaves of a PCTree. TODO should be moved to a central location; merge with ...
node getGraphNodeForInnerNode(PCNode *n) const
Returns which graph node created a P-node during the run of the planarity test that resulted in this ...
This class represents the embedding tree of a single node in a biconnected component.
void generateInnerNodeForGraphNodeMapping(NodeArray< PCNode * > &mapping) const
bool knowsPartnerEdges() const
PCTreeNodeArray< node > m_graphNodeForInnerNode
edge getIncidentEdgeForLeaf(PCNode *n) const
Returns which incident edge corresponds to which leaf.
A registry that allows labelling the nodes of a PC-tree.
void setIncidentEdgeForLeaf(PCNode *n, edge e)
This is only needed so that SyncPlan::propagatePQ can fix its mapping when propagating into an adjace...
RegisteredArray for nodes, edges and adjEntries of a graph.
const List< edge > & getPartnerEdgesForLeaf(PCNode *l) const
If this embedding tree is trivial and getNode() thus has a partner pole, returns the set of edges inc...
Data type for general directed graphs (adjacency list representation).
void generatePartnerEdgesForIncidentEdge(EdgeArray< const List< edge > * > &mapping) const
const Graph * getGraph() const
Predeclaration of various PC-tree related classes and enums.
A node in a PC-tree that is either a P-node, C-node or leaf.
A node in a PC-tree that is either a P-node, C-node or leaf.
Basic declarations, included by all source files.
void generateLeafForIncidentEdgeMapping(EdgeArray< PCNode * > &mapping) const
PCTreeNodeArray< List< edge > > m_bundleEdgesForLeaf
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Class for the representation of edges.
Declaration of doubly linked lists and iterators.
PCTreeNodeArray< edge > m_incidentEdgeForLeaf
Class for the representation of nodes.
const char * what() const noexcept override
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
The main class of the PC-tree.