Class LineSegment


  • public class LineSegment
    extends java.lang.Object
    Represents a line segment in a particular coordinate system. This class is immutable.
    Since:
    5.0.2
    • Field Detail

      • startPoint

        private final Vector startPoint
        Start vector of the segment.
      • endPoint

        private final Vector endPoint
        End vector of the segment.
    • Constructor Detail

      • LineSegment

        public LineSegment​(Vector startPoint,
                           Vector endPoint)
        Creates a new line segment.
        Parameters:
        startPoint - the start point of a line segment.
        endPoint - the end point of a line segment.
    • Method Detail

      • getStartPoint

        public Vector getStartPoint()
        Returns:
        the start point
      • getEndPoint

        public Vector getEndPoint()
        Returns:
        the end point
      • getLength

        public float getLength()
        Returns:
        the length of this line segment
        Since:
        5.0.2
      • getBoundingRectange

        public Rectangle2D.Float getBoundingRectange()
        Computes the bounding rectangle for this line segment. The rectangle has a rotation 0 degrees with respect to the coordinate system that the line system is in. For example, if a line segment is 5 unit long and sits at a 37 degree angle from horizontal, the bounding rectangle will have origin of the lower left hand end point of the segment, with width = 4 and height = 3.
        Returns:
        the bounding rectangle
        Since:
        5.0.2
      • transformBy

        public LineSegment transformBy​(Matrix m)
        Transforms the segment by the specified matrix
        Parameters:
        m - the matrix for the transformation
        Returns:
        the transformed segment