Package org.opentrafficsim.core.geometry
Class ContinuousPolyLine
java.lang.Object
org.opentrafficsim.core.geometry.ContinuousPolyLine
- All Implemented Interfaces:
ContinuousLine
Continuous definition of a PolyLine. Naive approaches are applied for offsets, since polylines have no exact information for
this.
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:
- Wouter Schakel
-
Constructor Summary
ConstructorDescriptionContinuousPolyLine
(org.djutils.draw.line.PolyLine2d line) Define continuous line from polyline.ContinuousPolyLine
(org.djutils.draw.line.PolyLine2d line, org.djutils.draw.point.OrientedPoint2d startPoint, org.djutils.draw.point.OrientedPoint2d endPoint) Define continuous line from polyline. -
Method Summary
Modifier and TypeMethodDescriptionorg.djutils.draw.line.PolyLine2d
flatten()
Polyline from continuous line.org.djutils.draw.line.PolyLine2d
Returns the line as is.org.djutils.draw.line.PolyLine2d
flattenOffset
(FractionalLengthData offsets, Flattener flattener) Returns the regular offset.double
End curvature.org.djutils.draw.point.OrientedPoint2d
End point.double
End radius.double
Return the length of the line.double
Start curvature.org.djutils.draw.point.OrientedPoint2d
Start point.double
Start radius.org.djutils.draw.line.PolyLine2d
offset
(FractionalLengthData offsets) Returns an offset line.toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opentrafficsim.core.geometry.ContinuousLine
getEndDirection, getStartDirection
-
Constructor Details
-
ContinuousPolyLine
public ContinuousPolyLine(org.djutils.draw.line.PolyLine2d line) Define continuous line from polyline. Start and end point direction are derived from the line.- Parameters:
line
- OtsLine2d; line.
-
ContinuousPolyLine
public ContinuousPolyLine(org.djutils.draw.line.PolyLine2d line, org.djutils.draw.point.OrientedPoint2d startPoint, org.djutils.draw.point.OrientedPoint2d endPoint) Define continuous line from polyline. Start and end point are given and may alter the direction at the endpoints (slightly).- Parameters:
line
- OtsLine2d; line.startPoint
- OrientedPoint2d; start point.endPoint
- OrientedPoint2d; end point.
-
-
Method Details
-
getStartPoint
public org.djutils.draw.point.OrientedPoint2d getStartPoint()Start point.- Specified by:
getStartPoint
in interfaceContinuousLine
- Returns:
- OrientedPoint2d; start point.
-
getEndPoint
public org.djutils.draw.point.OrientedPoint2d getEndPoint()End point.- Specified by:
getEndPoint
in interfaceContinuousLine
- Returns:
- OrientedPoint2d; end point.
-
getStartCurvature
public double getStartCurvature()Start curvature.- Specified by:
getStartCurvature
in interfaceContinuousLine
- Returns:
- double; start curvature.
-
getEndCurvature
public double getEndCurvature()End curvature.- Specified by:
getEndCurvature
in interfaceContinuousLine
- Returns:
- double; end curvature.
-
getStartRadius
public double getStartRadius()Start radius.- Specified by:
getStartRadius
in interfaceContinuousLine
- Returns:
- double; start radius.
-
getEndRadius
public double getEndRadius()End radius.- Specified by:
getEndRadius
in interfaceContinuousLine
- Returns:
- double; end radius.
-
flatten
public org.djutils.draw.line.PolyLine2d flatten()Polyline from continuous line. Returns the line as is.- Returns:
- PolyLine2d; polyline.
-
flatten
Returns the line as is. Flattener is ignored.- Specified by:
flatten
in interfaceContinuousLine
- Parameters:
flattener
- Flattener; flattener (ignored).- Returns:
- PolyLine2d; flattened line.
-
offset
Returns an offset line. This is a regular offset line, with start and end points moved to be perpendicular to end point directions.- Parameters:
offsets
- FractionalLengthData; offset data.- Returns:
- PolyLine2d; flattened line.
-
flattenOffset
public org.djutils.draw.line.PolyLine2d flattenOffset(FractionalLengthData offsets, Flattener flattener) Returns the regular offset. Flattener is ignored.- Specified by:
flattenOffset
in interfaceContinuousLine
- Parameters:
offsets
- FractionalLengthData; offset data.flattener
- Flattener; flattener (ignored).- Returns:
- PolyLine2d; flattened line.
-
getLength
public double getLength()Return the length of the line.- Specified by:
getLength
in interfaceContinuousLine
- Returns:
- double; length of the line.
-
toString
-