Class ContinuousArc

java.lang.Object
org.opentrafficsim.core.geometry.ContinuousArc
All Implemented Interfaces:
ContinuousLine

public class ContinuousArc extends Object implements ContinuousLine
Continuous definition of an arc.

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 Details

    • ContinuousArc

      public ContinuousArc(org.djutils.draw.point.OrientedPoint2d startPoint, double radius, boolean left, double length)
      Define arc by starting point, radius, curve direction, and length.
      Parameters:
      startPoint - OrientedPoint2d; starting point.
      radius - double; radius (must be positive).
      left - boolean; left curve, or right.
      length - double; arc length.
    • ContinuousArc

      public ContinuousArc(org.djutils.draw.point.OrientedPoint2d startPoint, double radius, boolean left, org.djunits.value.vdouble.scalar.Angle angle)
      Define arc by starting point, radius, curve direction, and angle.
      Parameters:
      startPoint - OrientedPoint2d; starting point.
      radius - double; radius (must be positive).
      left - boolean; left curve, or right.
      angle - Angle; angle of arc (must be positive).
  • Method Details

    • getStartPoint

      public org.djutils.draw.point.OrientedPoint2d getStartPoint()
      Start point.
      Specified by:
      getStartPoint in interface ContinuousLine
      Returns:
      OrientedPoint2d; start point.
    • getEndPoint

      public org.djutils.draw.point.OrientedPoint2d getEndPoint()
      End point.
      Specified by:
      getEndPoint in interface ContinuousLine
      Returns:
      OrientedPoint2d; end point.
    • getStartCurvature

      public double getStartCurvature()
      Start curvature.
      Specified by:
      getStartCurvature in interface ContinuousLine
      Returns:
      double; start curvature.
    • getEndCurvature

      public double getEndCurvature()
      End curvature.
      Specified by:
      getEndCurvature in interface ContinuousLine
      Returns:
      double; end curvature.
    • getStartRadius

      public double getStartRadius()
      Start radius.
      Specified by:
      getStartRadius in interface ContinuousLine
      Returns:
      double; start radius.
    • getEndRadius

      public double getEndRadius()
      End radius.
      Specified by:
      getEndRadius in interface ContinuousLine
      Returns:
      double; end radius.
    • flatten

      public org.djutils.draw.line.PolyLine2d flatten(Flattener flattener)
      Flatten continuous line in to a polyline. Implementations should use the flattener when relevant and possible.
      Specified by:
      flatten in interface ContinuousLine
      Parameters:
      flattener - Flattener; flattener.
      Returns:
      PolyLine2d; flattened line.
    • flattenOffset

      public org.djutils.draw.line.PolyLine2d flattenOffset(FractionalLengthData offsets, Flattener flattener)
      Flatten continuous line offset in to a polyline. Implementations should use the flattener when relevant and possible.
      Specified by:
      flattenOffset in interface ContinuousLine
      Parameters:
      offsets - FractionalLengthData; offset data.
      flattener - Flattener; flattener.
      Returns:
      PolyLine2d; flattened line.
    • getLength

      public double getLength()
      Return the length of the line.
      Specified by:
      getLength in interface ContinuousLine
      Returns:
      double; length of the line.
    • toString

      public String toString()
      Overrides:
      toString in class Object