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
ConstructorsConstructorDescriptionContinuousPolyLine(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.PolyLine2dflatten()Polyline from continuous line.org.djutils.draw.line.PolyLine2dReturns the line as is.org.djutils.draw.line.PolyLine2dflattenOffset(FractionalLengthData offsets, Flattener flattener) Returns the regular offset.doubleEnd curvature.org.djutils.draw.point.OrientedPoint2dEnd point.doubleEnd radius.doubleReturn the length of the line.doubleStart curvature.org.djutils.draw.point.OrientedPoint2dStart point.doubleStart radius.org.djutils.draw.line.PolyLine2doffset(FractionalLengthData offsets) Returns an offset line.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
getStartPointin interfaceContinuousLine- Returns:
- OrientedPoint2d; start point.
-
getEndPoint
public org.djutils.draw.point.OrientedPoint2d getEndPoint()End point.- Specified by:
getEndPointin interfaceContinuousLine- Returns:
- OrientedPoint2d; end point.
-
getStartCurvature
public double getStartCurvature()Start curvature.- Specified by:
getStartCurvaturein interfaceContinuousLine- Returns:
- double; start curvature.
-
getEndCurvature
public double getEndCurvature()End curvature.- Specified by:
getEndCurvaturein interfaceContinuousLine- Returns:
- double; end curvature.
-
getStartRadius
public double getStartRadius()Start radius.- Specified by:
getStartRadiusin interfaceContinuousLine- Returns:
- double; start radius.
-
getEndRadius
public double getEndRadius()End radius.- Specified by:
getEndRadiusin 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:
flattenin 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:
flattenOffsetin 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:
getLengthin interfaceContinuousLine- Returns:
- double; length of the line.
-
toString
-