Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
MixedModelBase.h
Go to the documentation of this file.
1
32#pragma once
33
41
42namespace ogdf {
43
118
119}
Declaration of interface for graph augmentation algorithms.
Defines ogdf::EmbedderModule.
Declaration of class GridLayout.
Declaration of classes InOutPoint and IOPoints which implement the management of in-/out-points.
Declaration of shelling order used by the Mixed-Model layout algorithm.
Declaration of a base class for planar representations of graphs and cluster graphs.
Declares the base class ShellingOrderModule for modules that compute a shelling order of a graph.
Class for adjacency list elements.
Definition Graph_d.h:79
edge theEdge() const
Returns the edge associated with this adjacency entry.
Definition Graph_d.h:97
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition ArrayBuffer.h:56
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
The base class for graph augmentation algorithms.
Base class for embedder algorithms.
bool isDummy(node v) const
Returns true iff v has no corresponding node in the original graph.
Definition GraphCopy.h:380
Representation of a graph's grid layout.
Definition GridLayout.h:46
Representation of in- and outpoint lists.
Definition IOPoints.h:57
void postprocessing2()
Tries to reduce the number of bends by moving degree-2 nodes on bend points.
NodeArray< int > m_dxla
void firstPoint(int &x, int &y, adjEntry adj)
void postprocessing1()
Tries to reduce the number of bends by changing the outpoints of nodes with indeg and outdeg 2.
void setBends()
Assigns polylines to edges of the original graph and computes the x- and y-coordinates of deg-1-nodes...
NodeArray< ListConstIterator< InOutPoint > > m_nextRight
Array< ListConstIterator< InOutPoint > > m_leftOp
void assignIopCoords()
Computes the relative coordinates of the in- and outpoints, incl. height(v), depth(v).
bool isRedundant(int x1, int y1, int x2, int y2, int x3, int y3)
void removeDeg1Nodes()
Removes degree-1 nodes and store informations for restoring them.
void placeNodes()
Implements the placement step. Computes x[v] and y[v].
bool hasRight(int k) const
Determine if the kth set in the ordered partition has a "real" right vertex.
void computeYCoords()
Computes the absolute y-coordinates y[v] of all nodes in the ordering.
MixedModelBase(PlanRep &PG, GridLayout &gridLayout)
void printInOutPoints(std::ostream &os)
bool hasLeft(int k) const
Determine if the kth set in the ordered partition has a "real" left vertex.
ArrayBuffer< PlanRep::Deg1RestoreInfo > m_deg1RestoreStack
void print(std::ostream &os, const InOutPoint &iop)
void computeOrder(AugmentationModule &augmenter, EmbedderModule *pEmbedder, adjEntry adjExternal, ShellingOrderModule &compOrder)
Computes the ordered partition (incl. m_leftOp[k], em_rightOp[k]) and constructs the in- and outpoint...
NodeArray< ListConstIterator< InOutPoint > > m_nextLeft
NodeArray< int > m_dxra
void printMMOrder(std::ostream &os)
Functions for debugging output.
void computeXCoords()
Computes the absolute x-coordinates x[v] of all nodes in the ordering, furthermore dyla[k] and dyra[k...
bool exists(adjEntry adj)
GridLayout & m_gridLayout
MixedModelBase & operator=(const MixedModelBase &)=delete
void printNodeCoords(std::ostream &os)
Array< ListConstIterator< InOutPoint > > m_rightOp
Dynamic arrays indexed with nodes.
Definition NodeArray.h:125
Planarized representations (of a connected component) of a graph.
Definition PlanRep.h:57
Base class for modules that compute a shelling order of a graph.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
Representation of an in- or outpoint.
Definition IOPoints.h:41