java.awt.geom
Class Ellipse2D

java.lang.Object
  extended byjava.awt.geom.RectangularShape
      extended byjava.awt.geom.Ellipse2D
All Implemented Interfaces:
Cloneable, Shape
Direct Known Subclasses:
Ellipse2D.Double, Ellipse2D.Float

public abstract class Ellipse2D
extends RectangularShape

The Ellipse2D class describes an ellipse that is defined by a bounding rectangle.

This class is only the abstract superclass for all objects which store a 2D ellipse. The actual storage representation of the coordinates is left to the subclass.

Author:
Jim Graham

Nested Class Summary
static class Ellipse2D.Double
          The Double class defines an ellipse specified in double precision.
static class Ellipse2D.Float
          The Float class defines an ellipse specified in float precision.
 
Constructor Summary
protected Ellipse2D()
          This is an abstract class that cannot be instantiated directly.
 
Method Summary
 boolean contains(double x, double y)
          Tests if a specified point is inside the boundary of this Ellipse2D.
 boolean contains(double x, double y, double w, double h)
          Tests if the interior of this Ellipse2D entirely contains the specified rectangular area.
 PathIterator getPathIterator(AffineTransform at)
          Returns an iteration object that defines the boundary of this Ellipse2D.
 boolean intersects(double x, double y, double w, double h)
          Tests if the interior of this Ellipse2D intersects the interior of a specified rectangular area.
 
Methods inherited from class java.awt.geom.RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.Shape
getBounds2D
 

Constructor Detail

Ellipse2D

protected Ellipse2D()
This is an abstract class that cannot be instantiated directly. Type-specific implementation subclasses are available for instantiation and provide a number of formats for storing the information necessary to satisfy the various accessor methods below.

See Also:
Ellipse2D.Float, Ellipse2D.Double
Method Detail

contains

public boolean contains(double x,
                        double y)
Tests if a specified point is inside the boundary of this Ellipse2D.

Parameters:
x - the specified x coordinate
y - the specified y coordinate
Returns:
true if the specified point is contained in this ellipse; false otherwise.

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Tests if the interior of this Ellipse2D intersects the interior of a specified rectangular area.

Parameters:
w - the width of the specified rectangular area
h - the height of the specified rectangluar area
x - the x coordinate of the specified rectangular area
y - the y coordinate of the specified rectangular area
Returns:
true if this Ellipse2D contains the specified rectangular area; false otherwise.
See Also:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Tests if the interior of this Ellipse2D entirely contains the specified rectangular area.

Parameters:
w - the width of the specified rectangular area
h - the height of the specified rectangular area
x - the x coordinate of the specified rectangular area
y - the y coordinate of the specified rectangular area
Returns:
true if this Ellipse2D contains the specified rectangular area; false otherwise.
See Also:
Area, Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Returns an iteration object that defines the boundary of this Ellipse2D. The iterator for this class is multi-threaded safe, which means that this Ellipse2D class guarantees that modifications to the geometry of this Ellipse2D object do not affect any iterations of that geometry that are already in process.

Parameters:
at - an optional AffineTransform to be applied to the coordinates as they are returned in the iteration, or null if untransformed coordinates are desired
Returns:
the PathIterator object that returns the geometry of the outline of this Ellipse2D, one segment at a time.