Class Segment


  • public class Segment
    extends Object
    Simple container for a two-points segment.
    • Constructor Detail

      • Segment

        public Segment​(Vector2D start,
                       Vector2D end,
                       double tolerance)
        Build a segment.
        Parameters:
        start - start point of the segment
        end - end point of the segment
        tolerance - of the line.
      • Segment

        public Segment​(Vector2D start,
                       Vector2D end,
                       Line line)
        Build a segment.
        Parameters:
        start - start point of the segment
        end - end point of the segment
        line - line containing the segment
    • Method Detail

      • getStart

        public Vector2D getStart()
        Get the start point of the segment.
        Returns:
        start point of the segment
      • getEnd

        public Vector2D getEnd()
        Get the end point of the segment.
        Returns:
        end point of the segment
      • getLine

        public Line getLine()
        Get the line containing the segment.
        Returns:
        line containing the segment
      • getLength

        public double getLength()
        Get the length of the line segment.
        Returns:
        line segment length.
      • distance

        public double distance​(Vector2D p)
        Calculates the shortest distance from a point to this line segment.

        If the perpendicular extension from the point to the line does not cross in the bounds of the line segment, the shortest distance to the two end points will be returned.

        Algorithm adapted from: Thread @ Codeguru
        Parameters:
        p - to check
        Returns:
        distance between the instance and the point