The EdgeComparer compares adjacency entries on base of the position of the nodes given by an Attributed Graph's layout information. More...
#include <ogdf/basic/EdgeComparer.h>
Public Member Functions | |
| EdgeComparer (const GraphAttributes &AG, const PlanRep &PR) | |
| EdgeComparer (const GraphAttributes &AG) | |
| compare the edges directly in AG | |
| int | compare (const adjEntry &e1, const adjEntry &e2) const |
| Compares x and y and returns the result as an integer. | |
| bool | before (const DPoint u, const DPoint v, const DPoint w) const |
| check if vector u->v lies within 180degree halfcircle before vector u->w in clockwise order (i.e. twelve o'clock lies before 1) | |
Private Member Functions | |
| int | orientation (const DPoint u, const DPoint v, const DPoint w) const |
| returns a value > 0, if vector uv lies "before" vector uw | |
| int | compareVectors (const double &x1, const double &y1, const double &x2, const double &y2) const |
| compares by angle relative to x-axis | |
| double | angle (DPoint p, DPoint q, DPoint r) const |
| computes angle between vectors p->q, p->r | |
| int | signOf (const double &x) const |
Private Attributes | |
| const GraphAttributes * | m_AG |
| const PlanRep * | m_PR |
The EdgeComparer compares adjacency entries on base of the position of the nodes given by an Attributed Graph's layout information.
helper function for ordering / sorting assumes that PG is a planrep on original AG and that PG is not normalized, i.e., if there are bends in AG, they do not have a counterpart in PG (all nodes in PG have an original) temporary: we assume that we have two adjentries at a common point, so we leave the check for now if they meet and at which point
Definition at line 82 of file EdgeComparer.h.
| ogdf::EdgeComparer::EdgeComparer | ( | const GraphAttributes & | AG, | |
| const PlanRep & | PR | |||
| ) | [inline] |
Definition at line 72 of file EdgeComparer.h.
| ogdf::EdgeComparer::EdgeComparer | ( | const GraphAttributes & | AG | ) | [inline] |
compare the edges directly in AG
Definition at line 77 of file EdgeComparer.h.
computes angle between vectors p->q, p->r
check if vector u->v lies within 180degree halfcircle before vector u->w in clockwise order (i.e. twelve o'clock lies before 1)
Compares x and y and returns the result as an integer.
The returns value is
Implements ogdf::VComparer< adjEntry >.
| int ogdf::EdgeComparer::compareVectors | ( | const double & | x1, | |
| const double & | y1, | |||
| const double & | x2, | |||
| const double & | y2 | |||
| ) | const [private] |
compares by angle relative to x-axis
| int ogdf::EdgeComparer::orientation | ( | const DPoint | u, | |
| const DPoint | v, | |||
| const DPoint | w | |||
| ) | const [private] |
returns a value > 0, if vector uv lies "before" vector uw
| int ogdf::EdgeComparer::signOf | ( | const double & | x | ) | const [inline, private] |
Definition at line 99 of file EdgeComparer.h.
const GraphAttributes* ogdf::EdgeComparer::m_AG [private] |
Definition at line 107 of file EdgeComparer.h.
const PlanRep* ogdf::EdgeComparer::m_PR [private] |
Definition at line 108 of file EdgeComparer.h.