Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
Planarity.h
Go to the documentation of this file.
1
34#pragma once
35
36#include <ogdf/basic/Array2D.h>
38
39namespace ogdf {
40namespace davidson_harel {
41
42class Planarity : public EnergyFunction {
43public:
46
48
50 void computeEnergy() override;
51
52private:
56 bool cross;
57 };
58
60 bool intersect(const edge, const edge) const;
61
63 void compCandEnergy() override;
64
66 void internalCandidateTaken() override;
67
69 bool lowLevelIntersect(const DPoint&, const DPoint&, const DPoint&, const DPoint&) const;
70
71#ifdef OGDF_DEBUG
72 virtual void printInternalData() const override;
73#endif
74
77
83
85};
86
87}
88}
Declaration and implementation of class Array2D which implements dynamic two dimensional arrays.
Declares class EnergyFunction...
The parameterized class Array2D implements dynamic two-dimensional arrays.
Definition Array2D.h:47
Dynamic arrays indexed with edges.
Definition EdgeArray.h:125
Class for the representation of edges.
Definition Graph_d.h:300
Stores additional attributes of a graph (like layout information).
Doubly linked lists (maintaining the length of the list).
Definition List.h:1435
The interface for energy functions for the Davidson Harel graph drawing method.
bool intersect(const edge, const edge) const
Returns 1 if edges cross else 0.
void computeEnergy() override
Computes energy of initial layout and stores it in m_energy.
EdgeArray< int > * m_edgeNums
numbers of edges
Definition Planarity.h:75
void compCandEnergy() override
Computes energy of candidate.
void internalCandidateTaken() override
Changes internal data if candidate is taken.
Array2D< bool > * m_crossingMatrix
stores for each pair of edges if they cross
Definition Planarity.h:76
Planarity(GraphAttributes &AG)
Initializes data structures to speed up later computations.
bool lowLevelIntersect(const DPoint &, const DPoint &, const DPoint &, const DPoint &) const
Tests if two lines given by four points intersect.
List< edge > m_nonSelfLoops
list of edges that are not slef loops
Definition Planarity.h:84
List< ChangedCrossing > m_crossingChanges
stores for all edges incident to the test node an array with the crossings that change if the candida...
Definition Planarity.h:82
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.