|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
140 unsigned int m_storedCrossings;
141 unsigned int m_currentCrossings;
151 unsigned int m_blocksCount;
176 int pos(
node v)
const override {
return m_pos[v]; }
179 int size()
const override {
return m_levels.
size(); }
185 if (dir == TraversingDir::upward) {
186 return m_upperAdjNodes[v];
188 return m_lowerAdjNodes[v];
207 void globalSifting(
int rho = 1,
int nRepeats = 10,
int* pNumCrossings =
nullptr);
211 void doInit(
bool longEdgesOnly =
true);
213 void doInit(
bool longEdgesOnly =
true,
const NodeArray<int> &ranks);
221 void sortAdjacencies();
247 int siftingSwap(
Block* blockOfA,
Block* blockOfB);
254 int siftingStep(
Block* blockOfA);
264 void buildDummyNodesLists();
269 void buildAdjNodes();
275 buildDummyNodesLists();
278 m_storedCrossings = calculateCrossings();
287 int verticalSwap(
Block* b,
int level);
290 int localCountCrossings(
const Array<int>& levels);
297 void verticalStep(
Block* b);
307 void gridSifting(
int nRepeats = 10);
The namespace for all OGDF objects.
Hierarchy & m_hierarchy
The hierarchy on grid- and globalsifting operates.
Array< Block * > m_Blocks
The array of all blocks.
GraphCopy m_GC
The graph copy representing the topology of the proper hierarchy.
Includes declaration of graph class.
int m_storedCrossings
Numebr of crossings stored in the sifting step.
NodeArray< Block * > m_NodeBlocks
The array of all vertex blocks.
const Hierarchy & hierarchy() const override
INDEX high() const
Returns the maximal array index.
Class representing idea of Blocks used in GlobalSifting and GridSifting algorithms.
Copies of graphs supporting edge splitting.
Representation of proper hierarchies used by Sugiyama-layout.
NodeArray< Array< node > > m_lowerAdjNodes
(Sorted) adjacent nodes on lower level.
int m_bestCrossings
The lowest number of crossing found in the sifting step.
node & operator[](int i) override
Returns the node at position i.
Array< int > m_NeighboursOutgoing
Indices of neighbouring outgoing blocks.
Array< ArrayLevel * > m_levels
The array of all levels.
NodeArray< int > m_nSet
(Only used by buildAdjNodes().)
int blocksCount()
Returns the number of blocks.
Array< int > m_currentPerm
The permutation modified in the sifting step.
NodeArray< Array< node > > m_upperAdjNodes
(Sorted) adjacent nodes on upper level.
Array< node > m_nodes
Vertices from the proper hierarchy corresponding to this block.
Array< int > m_bestPerm
The best found permutation in the sifting step.
Array< int > m_InvertedIncoming
Positions of this block in m_NeighboursOutgoing of neighbours.
The simple implementation of LevelBase interface.
EdgeArray< Block * > m_EdgeBlocks
The array of all edge blocks.
ArrayLevel(unsigned int size)
Declaration of graph copy classes.
Array< int > m_currentPermInv
Inversion of m_currenPerm.
const Array< node > & adjNodes(node v, TraversingDir dir) const override
Returns the adjacent nodes of v.
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
Declaration of interfaces used in Sugiyama framework.
Array< int > m_InvertedOutgoing
Positions of this block in m_NeighboursIncoming of neighbours.
Array< int > m_storedPerm
The permutation from which the sifting step starts.
int size() const override
Returns the number of levels.
int pos(node v) const override
Returns the position of node v on its level.
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
const node & operator[](int i) const override
Returns the node at position i.
Declaration and implementation of Array class and Array algorithms.
NodeArray< int > m_pos
The position of a node on its level.
ArrayLevel(const Array< node > &nodes)
Class for the representation of edges.
Hierarchical graph representation used by GlobalSifting and GridSifting algorithms.
INDEX size() const
Returns the size (number of elements) of the array.
const ArrayLevel & operator[](int i) const override
Returns the i-th level.
EdgeArray< bool > m_isActiveEdge
Stores information about active edge blocks.
Representation of levels in hierarchies.
Class for the representation of nodes.
NodeArray< int > m_ranks
The rank (level) of a node.
Array< int > m_nNodesOnLvls
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
Array< int > m_NeighboursIncoming
Indices of neighbouring incoming blocks.
int high() const override
Returns the maximal array index (= size()-1).
int size() const override
Returns the number of nodes on this level.
void buildHierarchy()
Builds arrays that allow using BlockOrder as HierarchyLevelsBase implementation.