Package org.djutils.draw.curve
Interface OffsetCurve2d
- All Superinterfaces:
Curve<DirectedPoint2d,,Double, Point2d, Flattener2d, PolyLine2d> Curve2d,Flattener.FlattableCurve<Point2d,Double>
- All Known Implementing Classes:
Arc2d,BezierCubic2d,Clothoid2d,Straight2d
OffsetCurve2d.java.
Copyright (c) 2024-2025 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djutils.org. The DJUTILS project is distributed under a three-clause BSD-style license, which can be found at https://djutils.org/docs/license.html.
- Author:
- Alexander Verbraeck
-
Method Summary
Modifier and TypeMethodDescriptiondefault doublegetDirection(double fraction, ContinuousPiecewiseLinearFunction of) Returns the direction at the given fraction.getPoint(double fraction, ContinuousPiecewiseLinearFunction of) Returns the point at the given fraction.default doublegetT(double position) Convert a position along the curve to a t-value in theOffsetCurve2ddomain.toPolyLine(OffsetFlattener2d flattener, ContinuousPiecewiseLinearFunction offsets) Flatten a Curve2d while offsetting with the provided continuous offset into a PolyLine2d.Methods inherited from interface org.djutils.draw.curve.Curve
getKnots, getLength, getPoint, toPolyLineMethods inherited from interface org.djutils.draw.curve.Curve2d
getDirection, getEndDirection, getEndPoint, getStartDirection, getStartPointMethods inherited from interface org.djutils.draw.curve.Flattener.FlattableCurve
getPoint
-
Method Details
-
toPolyLine
Flatten a Curve2d while offsetting with the provided continuous offset into a PolyLine2d. Implementations should use the flattener when relevant and possible.- Parameters:
flattener- OffsetFlatteneroffsets- offset data- Returns:
- approximation of this
curve2dwith offset as aPolyLine2d - Throws:
NullPointerException- whenflattener, oroffsetsisnull
-
getPoint
Returns the point at the given fraction. The fraction may represent any parameter, such as t in a Bézier curve, s in a Clothoid, or simply the fraction of length.- Parameters:
fraction- the fractionof- provides fraction-dependent lateral offset to the point- Returns:
- the point at the given
fraction
-
getDirection
Returns the direction at the given fraction. The fraction may represent any parameter, such as t in a Bézier curve, s in a Clothoid, or simply the fraction of length. The default implementation performs a numerical approach by looking at the direction between the points at fraction, and a point 1e-6 away.- Parameters:
fraction- the fractionof- provides fraction-dependent lateral offset to the curve- Returns:
- the direction at the given
fraction
-
getT
default double getT(double position) Convert a position along the curve to a t-value in theOffsetCurve2ddomain. ForArcandStraight, these t-values are the same. ForBezierCubicthey're not.- Parameters:
position- t-value in theContinuousPiecewiseLinearFunctiondomain- Returns:
- t-value in the
ContinuousPiecewiseLinearFunctiondomain
-