SUMO - Simulation of Urban MObility
NBContHelper::edge_opposite_direction_sorter Class Reference

Class to sort edges by their angle in relation to the given edge. More...

#include <NBContHelper.h>

Collaboration diagram for NBContHelper::edge_opposite_direction_sorter:
Collaboration graph

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_sorteroperator= (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...
 

Detailed Description

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 178 of file NBContHelper.h.

Constructor & Destructor Documentation

§ edge_opposite_direction_sorter()

NBContHelper::edge_opposite_direction_sorter::edge_opposite_direction_sorter ( const NBEdge *const  e,
const NBNode *const  n 
)
inlineexplicit

Constructor.

Parameters
[in]eThe edge to which the sorting relates
[in]nThe node to consider

Definition at line 184 of file NBContHelper.h.

Member Function Documentation

§ getDiff()

SUMOReal NBContHelper::edge_opposite_direction_sorter::getDiff ( const NBEdge *const  e) const
inlineprotected

Computes the angle difference between the related and the given edge.

Parameters
[in]eThe edge to compare the angle difference of
Returns
The angle difference

Definition at line 203 of file NBContHelper.h.

References GeomHelper::angleDiff().

§ getEdgeAngleAt()

SUMOReal NBContHelper::edge_opposite_direction_sorter::getEdgeAngleAt ( const NBEdge *const  e,
const NBNode *const  n 
) const
inlineprotected

Returns the given edge's angle at the given node.

Please note that we always consider the "outgoing direction".

Parameters
[in]eThe edge to which the sorting relates
[in]nThe node to consider

Definition at line 213 of file NBContHelper.h.

References PositionVector::angleAt2D(), NBEdge::getFromNode(), and NBEdge::getGeometry().

§ operator()()

int NBContHelper::edge_opposite_direction_sorter::operator() ( NBEdge e1,
NBEdge e2 
) const
inline

Comparing operation.

Parameters
[in]e1The first edge to compare
[in]e2The second edge to compare
Returns
Which edge is more opposite to the related one

Definition at line 194 of file NBContHelper.h.

§ operator=()

edge_opposite_direction_sorter& NBContHelper::edge_opposite_direction_sorter::operator= ( const edge_opposite_direction_sorter s)
private

Invalidated assignment operator.

Field Documentation

§ myAngle

SUMOReal NBContHelper::edge_opposite_direction_sorter::myAngle
private

The angle of the related edge at the given node.

Definition at line 223 of file NBContHelper.h.

§ myNode

const NBNode* const NBContHelper::edge_opposite_direction_sorter::myNode
private

The related node.

Definition at line 226 of file NBContHelper.h.


The documentation for this class was generated from the following file: