SUMO - Simulation of Urban MObility

GeomHelper Class Reference

#include <GeomHelper.h>

Static Public Member Functions

static SUMOReal Angle2D (SUMOReal x1, SUMOReal y1, SUMOReal x2, SUMOReal y2)
static SUMOReal closestDistancePointLine (const Position &point, const Position &lineStart, const Position &lineEnd, Position &outIntersection)
static Position crossPoint (const Boundary &b, const PositionVector &v)
static SUMOReal distancePointLine (const Position &point, const Position &lineStart, const Position &lineEnd)
static Position extrapolate_first (const Position &p1, const Position &p2, SUMOReal length)
static Position extrapolate_second (const Position &p1, const Position &p2, SUMOReal length)
static SUMOReal getCCWAngleDiff (SUMOReal angle1, SUMOReal angle2) throw ()
 Returns the distance of second angle from first angle counter-clockwise.
static SUMOReal getCWAngleDiff (SUMOReal angle1, SUMOReal angle2) throw ()
 Returns the distance of second angle from first angle clockwise.
static SUMOReal getMaxAngleDiff (SUMOReal angle1, SUMOReal angle2) throw ()
 Returns the maximum distance (clockwise/counter-clockwise) between both angles.
static SUMOReal getMinAngleDiff (SUMOReal angle1, SUMOReal angle2) throw ()
 Returns the minimum distance (clockwise/counter-clockwise) between both angles.
static std::pair< SUMOReal,
SUMOReal > 
getNormal90D_CW (const Position &beg, const Position &end, SUMOReal length, SUMOReal wanted_offset)
static std::pair< SUMOReal,
SUMOReal > 
getNormal90D_CW (const Position &beg, const Position &end, SUMOReal wanted_offset)
static Position interpolate (const Position &p1, const Position &p2, SUMOReal length)
static Position intersection_position (const Position &p11, const Position &p12, const Position &p21, const Position &p22)
static bool intersects (const Position &p11, const Position &p12, const Position &p21, const Position &p22)
static bool intersects (SUMOReal x1b, SUMOReal y1b, SUMOReal x1e, SUMOReal y1e, SUMOReal x2b, SUMOReal y2b, SUMOReal x2e, SUMOReal y2e)
static SUMOReal nearest_position_on_line_to_point (const Position &l1, const Position &l2, const Position &p, bool perpendicular=true)
static Position transfer_to_side (Position &p, const Position &lineBeg, const Position &lineEnd, SUMOReal amount)

Detailed Description

Definition at line 47 of file GeomHelper.h.


Member Function Documentation

SUMOReal GeomHelper::Angle2D ( SUMOReal  x1,
SUMOReal  y1,
SUMOReal  x2,
SUMOReal  y2 
) [static]

Definition at line 173 of file GeomHelper.cpp.

References PI, and SUMOReal.

Referenced by PositionVector::around(), NGRandomNetBuilder::checkAngles(), and PositionVector::move2side().

SUMOReal GeomHelper::closestDistancePointLine ( const Position &  point,
const Position &  lineStart,
const Position &  lineEnd,
Position &  outIntersection 
) [static]

Return the distance from point to line as well as the intersection point. If intersection does not lie within the line segment, the start or end point of the segment is returned

Definition at line 254 of file GeomHelper.cpp.

References Position::distanceTo(), Position::set(), SUMOReal, Position::x(), and Position::y().

Referenced by PositionVector::distance(), and PositionVector::insertAtClosest().

SUMOReal GeomHelper::distancePointLine ( const Position &  point,
const Position &  lineStart,
const Position &  lineEnd 
) [static]
Position GeomHelper::extrapolate_first ( const Position &  p1,
const Position &  p2,
SUMOReal  length 
) [static]
Position GeomHelper::extrapolate_second ( const Position &  p1,
const Position &  p2,
SUMOReal  length 
) [static]
SUMOReal GeomHelper::getCCWAngleDiff ( SUMOReal  angle1,
SUMOReal  angle2 
) throw () [static]

Returns the distance of second angle from first angle counter-clockwise.

Parameters:
[in]angle1The first angle
[in]angle2The second angle
Returns:
Angle (counter-clockwise) starting from first to second angle

Definition at line 347 of file GeomHelper.cpp.

References SUMOReal.

Referenced by NBNode::computeLanes2Lanes(), and NBNode::isLeftMover().

SUMOReal GeomHelper::getCWAngleDiff ( SUMOReal  angle1,
SUMOReal  angle2 
) throw () [static]

Returns the distance of second angle from first angle clockwise.

Parameters:
[in]angle1The first angle
[in]angle2The second angle
Returns:
Angle (clockwise) starting from first to second angle

Definition at line 357 of file GeomHelper.cpp.

References SUMOReal.

Referenced by NBNode::computeLanes2Lanes(), NBEdge::computeLaneShape(), and NBNode::isLeftMover().

SUMOReal GeomHelper::getMaxAngleDiff ( SUMOReal  angle1,
SUMOReal  angle2 
) throw () [static]

Returns the maximum distance (clockwise/counter-clockwise) between both angles.

Parameters:
[in]angle1The first angle
[in]angle2The second angle
Returns:
The maximum distance between both angles

Definition at line 373 of file GeomHelper.cpp.

References MAX2().

SUMOReal GeomHelper::getMinAngleDiff ( SUMOReal  angle1,
SUMOReal  angle2 
) throw () [static]

Returns the minimum distance (clockwise/counter-clockwise) between both angles.

Parameters:
[in]angle1The first angle
[in]angle2The second angle
Returns:
The minimum distance between both angles

Definition at line 367 of file GeomHelper.cpp.

References MIN2().

Referenced by NBNodeShapeComputer::compute(), NBEdge::computeEdgeShape(), NBOwnTLDef::getBestCombination(), NBContHelper::edge_opposite_direction_sorter::getDiff(), NBContHelper::edge_similar_direction_sorter::operator()(), MSLane::by_connections_to_sorter::operator()(), and NBNode::setPriorityJunctionPriorities().

std::pair< SUMOReal, SUMOReal > GeomHelper::getNormal90D_CW ( const Position &  beg,
const Position &  end,
SUMOReal  length,
SUMOReal  wanted_offset 
) [static]
std::pair< SUMOReal, SUMOReal > GeomHelper::getNormal90D_CW ( const Position &  beg,
const Position &  end,
SUMOReal  wanted_offset 
) [static]

Definition at line 326 of file GeomHelper.cpp.

References getNormal90D_CW(), SUMOReal, Position::x(), and Position::y().

Position GeomHelper::interpolate ( const Position &  p1,
const Position &  p2,
SUMOReal  length 
) [static]

Definition at line 186 of file GeomHelper.cpp.

References Position::distanceTo(), SUMOReal, Position::x(), and Position::y().

Position GeomHelper::intersection_position ( const Position &  p11,
const Position &  p12,
const Position &  p21,
const Position &  p22 
) [static]
bool GeomHelper::intersects ( const Position &  p11,
const Position &  p12,
const Position &  p21,
const Position &  p22 
) [static]

Definition at line 103 of file GeomHelper.cpp.

References intersects(), Position::x(), and Position::y().

bool GeomHelper::intersects ( SUMOReal  x1b,
SUMOReal  y1b,
SUMOReal  x1e,
SUMOReal  y1e,
SUMOReal  x2b,
SUMOReal  y2b,
SUMOReal  x2e,
SUMOReal  y2e 
) [static]
SUMOReal GeomHelper::nearest_position_on_line_to_point ( const Position &  l1,
const Position &  l2,
const Position &  p,
bool  perpendicular = true 
) [static]
Position GeomHelper::transfer_to_side ( Position &  p,
const Position &  lineBeg,
const Position &  lineEnd,
SUMOReal  amount 
) [static]

The documentation for this class was generated from the following files:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines