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
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.