Class Line

  • All Implemented Interfaces:
    java.lang.Cloneable, Shape

    public class Line
    extends Line2D.Float
    Represents a line and supports calculating the point of intersection of two line segments.
    Author:
    Lawrie Griffiths

    WARNING: THIS CLASS IS SHARED BETWEEN THE classes AND pccomms PROJECTS. DO NOT EDIT THE VERSION IN pccomms AS IT WILL BE OVERWRITTEN WHEN THE PROJECT IS BUILT.
    • Constructor Detail

      • Line

        public Line​(float x1,
                    float y1,
                    float x2,
                    float y2)
    • Method Detail

      • intersectsAt

        public Point intersectsAt​(Line l)
        Calculate the point of intersection of two lines.
        Parameters:
        l - the second line
        Returns:
        the point of intersection or null if the lines do not intercept or are coincident
      • segDist

        public double segDist​(Line seg)
        Returns the minimum distance between two line segments--this line segment and another. If they intersect the distance is 0. Lines can be parallel or skewed (non-parallel).
        Parameters:
        seg - The other line segment.
        Returns:
        The distance between the two line segments.
      • lengthen

        public void lengthen​(float delta)
        Make this line longer by an amount delta at each end. Used by DijkstraPathFinder to use the same LineMap as the a RangeScanner in MCL navigation.
        Parameters:
        delta - the amount added to each end
      • length

        public float length()
        Return the length of the line
        Returns:
        the length of the line
      • getP1

        public Point getP1()
        Description copied from class: Line2D
        Get the start point of the line as a Point2D
        Overrides:
        getP1 in class Line2D.Float
        Returns:
        the Point2D
      • getP2

        public Point getP2()
        Description copied from class: Line2D
        Get the end point of the line as a Point2D
        Overrides:
        getP2 in class Line2D.Float
        Returns:
        the Point2D