sumolib.geomhelper
index
/home/delphi/gcc/sumo/tools/sumolib/geomhelper.py

# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
# Copyright (C) 2013-2024 German Aerospace Center (DLR) and others.
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License 2.0 which is available at
https://www.eclipse.org/legal/epl-2.0/
# This Source Code may also be made available under the following Secondary
# Licenses when the conditions for such availability set forth in the Eclipse
# Public License 2.0 are satisfied: GNU General Public License, version 2
# or later which is available at
https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later

 
Modules
       
math
sys

 
Functions
       
add(a, b)
addToBoundingBox(coordList, bbox=None)
angle2D(p1, p2)
angleTo2D(p1, p2)
distance(p1, p2)
distancePointToLine(point, line_start, line_end, perpendicular=False)
Return the minimum distance between point and the line (line_start, line_end)
distancePointToPolygon(point, polygon, perpendicular=False)
Return the minimum distance between point and polygon
dotProduct(a, b)
fromNaviDegree(degrees)
intersectsAtLengths2D(polygon1, polygon2)
Returns the 2D-length from polygon1's start to all intersections between polygon1 and polygon2.
intersectsLineSegment(p11, p12, p21, p22, withinDist=0.0, pIntersection=None, storeEndPointsIfCoincident=False)
Returns whether the line segments defined by Line p11,p12 and Line p21,p22 intersect.
If not set to 'None', 'pIntersection' serves as a storage for the intersection point(s).
Parameter 'storeEndPointsIfCoincident' is an option for storing the endpoints of the
line segment defined by the intersecting set of line1 and line2 if applicable.
intersectsPolygon(polygon1, polygon2)
Returns whether the polygons intersect on at least one of their segments.
isClosedPolygon(polygon)
isWithin(pos, shape)
Returns whether the given pos coordinate is inside the polygon shape defined in anticlockwise order.
isclose(a, b, rel_tol=1e-09, abs_tol=0.0)
length(a)
line2boundary(shape, width)
expand center line by width/2 on both sides to obtain a (closed) boundary shape
(i.e. for an edge or lane)
lineOffsetWithMinimumDistanceToPoint(point, line_start, line_end, perpendicular=False)
Return the offset from line (line_start, line_end) where the distance to
point is minimal
minAngleDegreeDiff(d1, d2)
move2side(shape, amount)
mul(a, x)
narrow(fromPos, pos, toPos, amount)
detect narrow turns which cannot be shifted regularly
naviDegree(rad)
norm(a)
normalizeAngle(a, lower, upper, circle)
orthoIntersection(a, b)
polyLength(polygon)
polygonOffsetAndDistanceToPoint(point, polygon, perpendicular=False)
Return the offset and the distance from the polygon start where the distance to the point is minimal
polygonOffsetWithMinimumDistanceToPoint(point, polygon, perpendicular=False)
Return the offset from the polygon start where the distance to the point is minimal
positionAtOffset(p1, p2, offset)
positionAtShapeOffset(shape, offset)
rotateAround2D(p, rad, origin)
sideOffset(fromPos, toPos, amount)
splitPolygonAtLengths2D(polygon, lengths)
Returns the polygon segments split at the given 2D-lengths.
sub(a, b)

 
Data
        INVALID_DISTANCE = -1