: Class Line

Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## Class Line

    java.lang.Object
      |
      +--java.awt.geom.Line2D
            |
            +--java.awt.geom.Line2D.Double
                  |
                  +--Line

class Line
extends java.awt.geom.Line2D.Double
implements GeometricObject, Rotatable

This class represents a line described by its end-points p, q.

Inner classes inherited from class java.awt.geom.Line2D
`java.awt.geom.Line2D.Double, java.awt.geom.Line2D.Float`

Field Summary
`java.awt.Graphics` | `graphics` Graphics context for this Geometric object.
`private Polygon` | `points` The original data points
`long` | `time_stamp` Time stamp of this object.

Fields inherited from class java.awt.geom.Line2D.Double
`x1, x2, y1, y2`

Fields inherited from interface GeometricObject
`CIRCLE, ELLIPSE, LINE, POINT, POLYGON, RECTANGLE, SQUARE`

Constructor Summary
`(package private)` | `Line()` The constructor.
`(package private)` | `Line(double x1, double y1, double x2, double y2)` The constructor.
`(package private)` | `Line(Line line)` The constructor.
`(package private)` | `Line(Point p, Point q)` The constructor.

Method Summary
`double` | `chooseApproximateAngle(double[] angle_set)` Returns the angle that is closest to the angle that this line makes with the x axis from the input argument.
`boolean` | `containsGeometricObject(GeometricObject object)` Returns false if the argument is not completely inside this object.
`boolean` | `containsGeometricObjects(GeometricObject[] objects)` Returns false if the objects in the input array are completely inside this object.
`double` | `getAngle()` Returns the angle of the object WRT the x axis in radians.
`double` | `getCartesianAngle()` Returns the angle of the object WRT the x axis in radians.
`Polygon` | `getDataPoints()` This method is used to get the original data points that forms this GeometricObject
`Point` | `getIntersection(Line line)` Returns the intersection of the two infinite length lines described by this line and the argument.
`Polygon` | `getPolygonalBounds()` This method should return a polygon that fully contains the current object.
`Rectangle` | `getRectangularBounds()` Supplied for completeness.
`long` | `getTimeStamp()` Returns the time stamp of the current Terminal
`java.lang.String` | `getType()` Implement GeometricObject
`static boolean` | `isLine(Polygon p)` Returns true if the input Polygon is a line.
`double` | `length()` Returns the length of this line.
`void` | `paint()` Draw the object
`void` | `paint(java.awt.Graphics g)` Draw the object
`void` | `paintOriginal(java.awt.Graphics g)` This method is used to paint the original data points that forms this GeometricObject
`void` | `pointDown()` Swaps the first and the second points if needed so that the second point is below the first one.
`boolean` | `pointIsOn(Point point, int radius)` Returns true if the point is within +-radius distance from the curve defining the object.
`boolean` | `pointIsOnOriginal(Point p, int radius)` Returns true if the point is within +-radius distance from the original curve defining the object.
`void` | `pointLeft()` Swaps the first and the second points if needed so that the second point is to the left of the first one.
`void` | `pointRight()` Swaps the first and the second points if needed so that the second point is to the right of the first one.
`void` | `pointUp()` Swaps the first and the second points if needed so that the second point is above the first one.
`void` | `setDataPoints(Polygon points)` This method is used to set the original data points that forms this GeometricObject
`void` | `setGraphicsContext(java.awt.Graphics g)` Set graphics context for this Geometric object.
`void` | `setTimeStamp(long time_stamp)` Sets the time stamp of the current Terminal
`int` | `spatialRelation(GeometricObject object)` This method should return the spatial relation of the input parameter with respect to this object.
`void` | `swapPoints()` Swaps the first and the secons points.
`Polygon` | `toPolygon()` This method is used to get the original data points that forms this GeometricObject
`java.lang.String` | `toString()` Override toString
`boolean` | `touches(GeometricObject object)` This method should return true if the input objects touch.

Methods inherited from class java.awt.geom.Line2D.Double
`getBounds2D, getP1, getP2, getX1, getX2, getY1, getY2, setLine`

Methods inherited from class java.awt.geom.Line2D
`clone, contains, contains, contains, contains, getBounds, getPathIterator, getPathIterator, intersects, intersects, intersectsLine, intersectsLine, linesIntersect, ptLineDist, ptLineDist, ptLineDist, ptLineDistSq, ptLineDistSq, ptLineDistSq, ptSegDist, ptSegDist, ptSegDist, ptSegDistSq, ptSegDistSq, ptSegDistSq, relativeCCW, relativeCCW, relativeCCW, setLine, setLine`

Methods inherited from class java.lang.Object
`, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait`

Field Detail

### points

    private Polygon points

  The original data points

### time_stamp

    public long time_stamp

  Time stamp of this object.

### graphics

    public java.awt.Graphics graphics

  Graphics context for this Geometric object.

Constructor Detail

### Line

    Line(Line line)

  The constructor.

### Line

    Line()

  The constructor.

### Line

    Line(double x1,
         double y1,
         double x2,
         double y2)

  The constructor.

### Line

    Line(Point p,
         Point q)

  The constructor.

Method Detail

### getType

    public java.lang.String getType()

  Implement GeometricObject

### toString

    public java.lang.String toString()

  Override toString
  Overrides:
    toString in class java.lang.Object

### paint

    public void paint()

  Draw the object

### paint

    public void paint(java.awt.Graphics g)

  Draw the object

### paintOriginal

    public void paintOriginal(java.awt.Graphics g)

  This method is used to paint the original data points that forms this GeometricObject

### pointIsOn

    public boolean pointIsOn(Point point,
                             int radius)

  Returns true if the point is within +-radius distance from the curve defining the object. Returns false o/w.
  Specified by:
    pointIsOn in interface GeometricObject

### pointIsOnOriginal

    public boolean pointIsOnOriginal(Point p,
                                     int radius)

  Returns true if the point is within +-radius distance from the original curve defining the object. Returns false o/w.
  Specified by:
    pointIsOnOriginal in interface GeometricObject

### setGraphicsContext

    public void setGraphicsContext(java.awt.Graphics g)

  Set graphics context for this Geometric object. Must be set at least once before doing any drawing.

### touches

    public boolean touches(GeometricObject object)

  This method should return true if the input objects touch. It should be optimized making use of the object type information.
  Specified by:
    touches in interface GeometricObject

### getRectangularBounds

    public Rectangle getRectangularBounds()

  Supplied for completeness.
  Specified by:
    getRectangularBounds in interface GeometricObject

### containsGeometricObject

    public boolean containsGeometricObject(GeometricObject object)

  Returns false if the argument is not completely inside this object. Return true O/W.
  Specified by:
    containsGeometricObject in interface GeometricObject

### getPolygonalBounds

    public Polygon getPolygonalBounds()

  This method should return a polygon that fully contains the current object. The polygon is implicity closed and the last point doesn't necessarily have to be the same as the first (zeroth) point.
  Specified by:
    getPolygonalBounds in interface GeometricObject

### spatialRelation

    public int spatialRelation(GeometricObject object)

  This method should return the spatial relation of the input parameter with respect to this object. see the SpatialRelation class for a detailed list of possible spatial relations. Another version of this method should be implemented for handling spatial relations where a rotated coordinate system is to be used.
  Specified by:
    spatialRelation in interface GeometricObject

### getCartesianAngle

    public double getCartesianAngle()

  Returns the angle of the object WRT the x axis in radians. Known eksik: Probably confused between this and getAngle()

### getAngle

    public double getAngle()

  Returns the angle of the object WRT the x axis in radians. Known eksik: Probably confused between this and getCartesianAngl()
  Specified by:
    getAngle in interface Rotatable

### isLine

    public static boolean isLine(Polygon p)

  Returns true if the input Polygon is a line.

### setTimeStamp

    public void setTimeStamp(long time_stamp)

  Sets the time stamp of the current Terminal

### getTimeStamp

    public long getTimeStamp()

  Returns the time stamp of the current Terminal

### swapPoints

    public void swapPoints()

  Swaps the first and the secons points.

### pointRight

    public void pointRight()

  Swaps the first and the second points if needed so that the second point is to the right of the first one. The overall line structure is preserved.

### pointLeft

    public void pointLeft()

  Swaps the first and the second points if needed so that the second point is to the left of the first one. The overall line structure is preserved.

### pointUp

    public void pointUp()

  Swaps the first and the second points if needed so that the second point is above the first one. The overall line structure is preserved.

### pointDown

    public void pointDown()

  Swaps the first and the second points if needed so that the second point is below the first one. The overall line structure is preserved.

### setDataPoints

    public void setDataPoints(Polygon points)

  This method is used to set the original data points that forms this GeometricObject
  Specified by:
    setDataPoints in interface GeometricObject

### getDataPoints

    public Polygon getDataPoints()

  This method is used to get the original data points that forms this GeometricObject
  Specified by:
    getDataPoints in interface GeometricObject

### toPolygon

    public Polygon toPolygon()

  This method is used to get the original data points that forms this GeometricObject

### chooseApproximateAngle

    public double chooseApproximateAngle(double[] angle_set)

  Returns the angle that is closest to the angle that this line makes with the x axis from the input argument. In this context, Math.PI is not the same as 0. The method uses the absolute value of difference as the metric for distance.

### containsGeometricObjects

    public boolean containsGeometricObjects(GeometricObject[] objects)

  Returns false if the objects in the input array are completely inside this object. Return true O/W.
  Specified by:
    containsGeometricObjects in interface GeometricObject

### length

    public double length()

  Returns the length of this line.

### getIntersection

    public Point getIntersection(Line line)
                          throws GeometricComputationException

  Returns the intersection of the two infinite length lines described by this line and the argument. This method converts the end-points of the lines to ints rather than working with doubles. This is reasonably good approximation. After all even if we use doubles, we won't get a "perfect" intersection point and the simplification makes handling of special cases easier. Return null if the lines are parallel (even if they are the same).

Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD