Class LaneGeometryUtil
java.lang.Object
org.opentrafficsim.road.network.lane.LaneGeometryUtil
This class is an extension (conceptually, not an actual java extension) of
OtsGeometryUtil
. This utility has access
to classes that are specific to the ots-road project, and required to define geometry of objects in this context.
Copyright (c) 2023-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
Method Summary
Modifier and TypeMethodDescriptionstatic Lane
createStraightLane
(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length startOffset, org.djunits.value.vdouble.scalar.Length endOffset, org.djunits.value.vdouble.scalar.Length startWidth, org.djunits.value.vdouble.scalar.Length endWidth, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane.static Lane
createStraightLane
(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length offset, org.djunits.value.vdouble.scalar.Length width, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane.static Lane
createStraightLane
(CrossSectionLink link, String id, ContinuousLine.ContinuousDoubleFunction offset, ContinuousLine.ContinuousDoubleFunction width, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane.static Object
createStraightShoulder
(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length startOffset, org.djunits.value.vdouble.scalar.Length endOffset, org.djunits.value.vdouble.scalar.Length startWidth, org.djunits.value.vdouble.scalar.Length endWidth, LaneType laneType) Creates a simple straight shoulder.static Stripe
createStraightStripe
(StripeData type, String id, CrossSectionLink link, org.djunits.value.vdouble.scalar.Length offset, org.djunits.value.vdouble.scalar.Length width) Creates a simple straight lane.static org.djutils.draw.line.Polygon2d
getContour
(org.djutils.draw.line.PolyLine2d leftEdge, org.djutils.draw.line.PolyLine2d rightEdge) Returns the contour based on left and right edge.
-
Method Details
-
getContour
public static org.djutils.draw.line.Polygon2d getContour(org.djutils.draw.line.PolyLine2d leftEdge, org.djutils.draw.line.PolyLine2d rightEdge) Returns the contour based on left and right edge.- Parameters:
leftEdge
- left edge, in design line direction.rightEdge
- right edge, in design line direction.- Returns:
- a closed loop of both edges.
-
createStraightLane
public static Lane createStraightLane(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length offset, org.djunits.value.vdouble.scalar.Length width, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane. This method exists to create lanes for simple tests.- Parameters:
link
- link.id
- id.offset
- end offset.width
- end width.laneType
- lane type.speedLimits
- speed limit map.- Returns:
- lane.
-
createStraightLane
public static Lane createStraightLane(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length startOffset, org.djunits.value.vdouble.scalar.Length endOffset, org.djunits.value.vdouble.scalar.Length startWidth, org.djunits.value.vdouble.scalar.Length endWidth, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane. This method exists to create lanes for simple tests.- Parameters:
link
- link.id
- id.startOffset
- start offset.endOffset
- end offset.startWidth
- start width.endWidth
- end width.laneType
- lane type.speedLimits
- speed limit map.- Returns:
- lane.
-
createStraightLane
public static Lane createStraightLane(CrossSectionLink link, String id, ContinuousLine.ContinuousDoubleFunction offset, ContinuousLine.ContinuousDoubleFunction width, LaneType laneType, Map<GtuType, org.djunits.value.vdouble.scalar.Speed> speedLimits) Creates a simple straight lane. This method exists to create lanes for simple tests.- Parameters:
link
- linkid
- idoffset
- offset informationwidth
- offset informationlaneType
- lane typespeedLimits
- speed limit map- Returns:
- lane
-
createStraightStripe
public static Stripe createStraightStripe(StripeData type, String id, CrossSectionLink link, org.djunits.value.vdouble.scalar.Length offset, org.djunits.value.vdouble.scalar.Length width) Creates a simple straight lane. This method exists to create lanes for simple tests.- Parameters:
type
- stripe data.id
- idlink
- link.offset
- end offset.width
- end width.- Returns:
- lane.
-
createStraightShoulder
public static Object createStraightShoulder(CrossSectionLink link, String id, org.djunits.value.vdouble.scalar.Length startOffset, org.djunits.value.vdouble.scalar.Length endOffset, org.djunits.value.vdouble.scalar.Length startWidth, org.djunits.value.vdouble.scalar.Length endWidth, LaneType laneType) Creates a simple straight shoulder. This method exists to create shoulders for simple tests.- Parameters:
link
- link.id
- id.startOffset
- start offset.endOffset
- end offset.startWidth
- start width.endWidth
- end width.laneType
- lane type.- Returns:
- lane.
-