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) | |
Constructor. More... | |
int | operator() (NBEdge *e1, NBEdge *e2) const |
Comparing operation. More... | |
Protected Member Functions | |
SUMOReal | getDiff (const NBEdge *const e) const |
Computes the angle difference between the related and the given edge. More... | |
SUMOReal | 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 | |
SUMOReal | myAngle |
The angle of the related edge at the given node. More... | |
const NBNode *const | myNode |
The related node. 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 148 of file NBContHelper.h.
|
inlineexplicit |
Constructor.
[in] | e | The edge to which the sorting relates |
[in] | n | The node to consider |
Definition at line 154 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 175 of file NBContHelper.h.
References getEdgeAngleAt(), GeomHelper::getMinAngleDiff(), myAngle, myNode, and SUMOReal.
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 186 of file NBContHelper.h.
References Line::atan2DegreeAngle(), PositionVector::getBegLine(), PositionVector::getEndLine(), NBEdge::getFromNode(), NBEdge::getGeometry(), and Line::reverse().
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 164 of file NBContHelper.h.
|
private |
Invalidated assignment operator.
|
private |
The angle of the related edge at the given node.
Definition at line 196 of file NBContHelper.h.
Referenced by edge_opposite_direction_sorter(), and getDiff().
|
private |