![]() |
Eclipse SUMO - Simulation of Urban MObility
|
Class to sort edges by their angle in relation to the given edge. More...
#include <NBContHelper.h>
Public Member Functions | |
edge_opposite_direction_sorter (const NBEdge *const e, const NBNode *const n, bool regardPriority) | |
Constructor. More... | |
int | operator() (NBEdge *e1, NBEdge *e2) const |
Comparing operation. More... | |
Protected Member Functions | |
double | getDiff (const NBEdge *const e) const |
Computes the angle difference between the related and the given edge. More... | |
double | getEdgeAngleAt (const NBEdge *const e, const NBNode *const n) const |
Returns the given edge's angle at the given node. More... | |
Private Member Functions | |
edge_opposite_direction_sorter & | operator= (const edge_opposite_direction_sorter &s) |
Invalidated assignment operator. More... | |
Private Attributes | |
double | myAngle |
The angle of the related edge at the given node. More... | |
const NBEdge *const | myEdge |
the reference edge More... | |
const NBNode *const | myNode |
The related node. More... | |
bool | myRegardPriority |
Whether edge priority may override closer angles. More... | |
Class to sort edges by their angle in relation to the given edge.
The resulting sorted list has the edge in the most opposite direction to the given edge as her first entry.
Definition at line 140 of file NBContHelper.h.
|
inlineexplicit |
Constructor.
[in] | e | The edge to which the sorting relates |
[in] | n | The node to consider |
Definition at line 146 of file NBContHelper.h.
References getEdgeAngleAt(), and myAngle.
|
inlineprotected |
Computes the angle difference between the related and the given edge.
[in] | e | The edge to compare the angle difference of |
Definition at line 171 of file NBContHelper.h.
References GeomHelper::angleDiff(), getEdgeAngleAt(), myAngle, and myNode.
Referenced by operator()().
|
inlineprotected |
Returns the given edge's angle at the given node.
Please note that we always consider the "outgoing direction".
[in] | e | The edge to which the sorting relates |
[in] | n | The node to consider |
Definition at line 181 of file NBContHelper.h.
References PositionVector::angleAt2D(), NBEdge::getFromNode(), and NBEdge::getGeometry().
Referenced by edge_opposite_direction_sorter(), and getDiff().
|
inline |
Comparing operation.
[in] | e1 | The first edge to compare |
[in] | e2 | The second edge to compare |
Definition at line 158 of file NBContHelper.h.
References getDiff(), NBEdge::getPriority(), myEdge, and myRegardPriority.
|
private |
Invalidated assignment operator.
|
private |
The angle of the related edge at the given node.
Definition at line 198 of file NBContHelper.h.
Referenced by edge_opposite_direction_sorter(), and getDiff().
|
private |
|
private |
|
private |
Whether edge priority may override closer angles.
Definition at line 201 of file NBContHelper.h.
Referenced by operator()().