Class RMLine

java.lang.Object
com.reportmill.base.RMObject
com.reportmill.graphics.RMLine
All Implemented Interfaces:
RMArchiver.Archiving, Cloneable
Direct Known Subclasses:
RMQuadratic

public class RMLine extends RMObject
This class models a simple line, providing methods for extracting points, distance calculation, bisection, hit detection and such.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new line.
    RMLine(float x1, float y1, float x2, float y2)
    Creates a new line for the given x & y start/end points.
    RMLine(RMPoint startPoint, RMPoint endPoint)
    Creates a new line for the given start point and end point.
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Returns the minimum distance from the given point to this line.
    static double
    getDistanceToLineSquared(double p0x, double p0y, double p1x, double p1y, double p2x, double p2y)
    Returns the distance from the given point components (p0) to the given line components (p1->p2).
    getHead(double t)
    Returns a new line from this line's start point to given parametric location t (defined from 0-1) on this line.
    Returns a hit info object for this line and the given bezier.
    Returns a hit info object for this line and the given line.
    Returns a hit info object for this line and the given bezier curve.
    float
    Returns the max x point of this line.
    float
    Returns the max y point of this line.
    float
    Returns the min x point of this line.
    float
    Returns the min y point of this line.
    getPoint(double t)
    Returns the point on this line at the parametric location t (defined from 0-1).
    getTail(double t)
    Returns a new line from given parametric location t (defined from 0-1) on this line to this line's end point.
    void
    setEnd(double t)
    Reset this curve's end point to the given parametric location (0-1).
    void
    setStart(double t)
    Reset this curve's start point to the given parametric location (0-1).
    Returns a string representation of this line.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • RMLine

      public RMLine()
      Creates a new line.
    • RMLine

      public RMLine(float x1, float y1, float x2, float y2)
      Creates a new line for the given x & y start/end points.
    • RMLine

      public RMLine(RMPoint startPoint, RMPoint endPoint)
      Creates a new line for the given start point and end point.
  • Method Details

    • getPoint

      public RMPoint getPoint(double t)
      Returns the point on this line at the parametric location t (defined from 0-1).
    • getDistanceLine

      public double getDistanceLine(RMPoint aPoint)
      Returns the minimum distance from the given point to this line.
    • getDistanceToLineSquared

      public static double getDistanceToLineSquared(double p0x, double p0y, double p1x, double p1y, double p2x, double p2y)
      Returns the distance from the given point components (p0) to the given line components (p1->p2).
    • getMinX

      public float getMinX()
      Returns the min x point of this line.
    • getMinY

      public float getMinY()
      Returns the min y point of this line.
    • getMaxX

      public float getMaxX()
      Returns the max x point of this line.
    • getMaxY

      public float getMaxY()
      Returns the max y point of this line.
    • getHead

      public RMLine getHead(double t)
      Returns a new line from this line's start point to given parametric location t (defined from 0-1) on this line.
    • getTail

      public RMLine getTail(double t)
      Returns a new line from given parametric location t (defined from 0-1) on this line to this line's end point.
    • setEnd

      public void setEnd(double t)
      Reset this curve's end point to the given parametric location (0-1).
    • setStart

      public void setStart(double t)
      Reset this curve's start point to the given parametric location (0-1).
    • getHitInfo

      public RMHitInfo getHitInfo(RMLine aLine)
      Returns a hit info object for this line and the given line.
    • getHitInfo

      public RMHitInfo getHitInfo(RMQuadratic aCurve)
      Returns a hit info object for this line and the given bezier curve. HitInfo._index is overloaded to contain number of hits.
    • getHitInfo

      public RMHitInfo getHitInfo(RMBezier aBezier)
      Returns a hit info object for this line and the given bezier.
    • toString

      public String toString()
      Returns a string representation of this line.
      Overrides:
      toString in class Object