Energy function for attraction between two adjacent vertices. More...
#include <ogdf/energybased/davidson_harel/Attraction.h>
Public Member Functions | |
Attraction (GraphAttributes &AG) | |
~Attraction () | |
void | printInternalData () const override |
void | reinitializeEdgeLength (double multi) |
set multiplier for the edge length with repspect to node size to multi More... | |
void | setPreferredEdgelength (double length) |
set the preferred edge length More... | |
Public Member Functions inherited from ogdf::davidson_harel::NodePairEnergy | |
NodePairEnergy (const string energyname, GraphAttributes &AG) | |
virtual | ~NodePairEnergy () |
void | computeEnergy () override |
computes energy for the layout at the beginning of the optimization process More... | |
Public Member Functions inherited from ogdf::davidson_harel::EnergyFunction | |
EnergyFunction (const string &funcname, GraphAttributes &AG) | |
Initializes data dtructures to speed up later computations. More... | |
virtual | ~EnergyFunction () |
void | candidateTaken () |
Changes m_currentX and m_currentY by setting the position of m_testNode to m_testX and m_testY. Sets m_energy to m_candidateEnergy. Computes the energy of the layout stored in AG. More... | |
double | computeCandidateEnergy (const node v, const DPoint &newPos) |
sets m_testNode, m_testX and m_testY and computes the energy for the new configuration (vertex v moves to newPos) More... | |
double | energy () const |
string | getName () const |
prints the name of the energy function More... | |
void | printStatus () const |
prints status information for debugging More... | |
Private Member Functions | |
double | computeCoordEnergy (node, node, const DPoint &, const DPoint &) const override |
computes the energy contributed by the two nodes if they are placed at the two given positions More... | |
Private Attributes | |
double | m_preferredEdgeLength |
the length that that all edges should ideally have More... | |
Static Private Attributes | |
static const double | MULTIPLIER |
Average length and height of nodes is multiplied by this factor to get preferred edge length. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ogdf::davidson_harel::NodePairEnergy | |
bool | adjacent (const node v, const node w) const |
returns true in constant time if two vertices are adjacent. More... | |
int | nodeNum (node v) const |
Returns the internal number given to each vertex. More... | |
const DIntersectableRect & | shape (const node v) const |
Returns the shape of a vertex v as a DIntersectableRect. More... | |
Protected Member Functions inherited from ogdf::davidson_harel::EnergyFunction | |
DPoint | currentPos (const node v) const |
returns the current position of vertex v More... | |
node | testNode () const |
returns the vertex that is under consideration in the current step More... | |
DPoint | testPos () |
returns candidate position for the node to be moved More... | |
Protected Attributes inherited from ogdf::davidson_harel::EnergyFunction | |
double | m_candidateEnergy |
the energy of the layout if the candidate layout is chosen More... | |
double | m_energy |
energy of the current layout More... | |
const Graph & | m_G |
the graph that should be drawn More... | |
const string | m_name |
name of the energy function More... | |
Energy function for attraction between two adjacent vertices.
Implements an energy function that simulates attraction between two adjacent vertices. There is an optimum distance where the energy is zero. The energy grows quadratic with the difference to the optimum distance. The optimum distance between two adjacent vertices depends on the size of the two vertices.
Definition at line 52 of file Attraction.h.
|
explicit |
|
inline |
Definition at line 57 of file Attraction.h.
|
overrideprivatevirtual |
computes the energy contributed by the two nodes if they are placed at the two given positions
Implements ogdf::davidson_harel::NodePairEnergy.
|
overridevirtual |
Reimplemented from ogdf::davidson_harel::NodePairEnergy.
void ogdf::davidson_harel::Attraction::reinitializeEdgeLength | ( | double | multi | ) |
set multiplier for the edge length with repspect to node size to multi
|
inline |
set the preferred edge length
Definition at line 60 of file Attraction.h.
|
private |
the length that that all edges should ideally have
Definition at line 71 of file Attraction.h.
|
staticprivate |
Average length and height of nodes is multiplied by this factor to get preferred edge length.
Definition at line 69 of file Attraction.h.