java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Ellipse2D
- Direct Known Subclasses:
Ellipse2D.Double,Ellipse2D.Float
public abstract class Ellipse2D extends RectangularShape
The
Ellipse2D class describes an ellipse that is defined
by a framing 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.
- Since:
- 1.2
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classEllipse2D.DoubleTheDoubleclass defines an ellipse specified indoubleprecision.static classEllipse2D.FloatTheFloatclass defines an ellipse specified infloatprecision. -
Constructor Summary
Constructors Modifier Constructor Description protectedEllipse2D()This is an abstract class that cannot be instantiated directly. -
Method Summary
Modifier and Type Method Description booleancontains(double x, double y)Tests if the specified coordinates are inside the boundary of theShape, as described by the definition of insideness.booleancontains(double x, double y, double w, double h)Tests if the interior of theShapeentirely contains the specified rectangular area.booleanequals(Object obj)Determines whether or not the specifiedObjectis equal to thisEllipse2D.PathIteratorgetPathIterator(AffineTransform at)Returns an iteration object that defines the boundary of thisEllipse2D.inthashCode()Returns the hashcode for thisEllipse2D.booleanintersects(double x, double y, double w, double h)Tests if the interior of theShapeintersects the interior of a specified rectangular area.Methods declared in 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
-
Constructor Details
-
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.- Since:
- 1.2
- See Also:
Ellipse2D.Float,Ellipse2D.Double
-
-
Method Details
-
contains
public boolean contains(double x, double y)Tests if the specified coordinates are inside the boundary of theShape, as described by the definition of insideness.- Parameters:
x- the specified X coordinate to be testedy- the specified Y coordinate to be tested- Returns:
trueif the specified coordinates are inside theShapeboundary;falseotherwise.- Since:
- 1.2
-
intersects
public boolean intersects(double x, double y, double w, double h)Tests if the interior of theShapeintersects the interior of a specified rectangular area. The rectangular area is considered to intersect theShapeif any point is contained in both the interior of theShapeand the specified rectangular area.The
Shape.intersects()method allows aShapeimplementation to conservatively returntruewhen:-
there is a high probability that the rectangular area and the
Shapeintersect, but - the calculations to accurately determine this intersection are prohibitively expensive.
Shapesthis method might returntrueeven though the rectangular area does not intersect theShape. TheAreaclass performs more accurate computations of geometric intersection than mostShapeobjects and therefore can be used if a more precise answer is required.- Parameters:
x- the X coordinate of the upper-left corner of the specified rectangular areay- the Y coordinate of the upper-left corner of the specified rectangular areaw- the width of the specified rectangular areah- the height of the specified rectangular area- Returns:
trueif the interior of theShapeand the interior of the rectangular area intersect, or are both highly likely to intersect and intersection calculations would be too expensive to perform;falseotherwise.- Since:
- 1.2
- See Also:
Area
-
there is a high probability that the rectangular area and the
-
contains
public boolean contains(double x, double y, double w, double h)Tests if the interior of theShapeentirely contains the specified rectangular area. All coordinates that lie inside the rectangular area must lie within theShapefor the entire rectangular area to be considered contained within theShape.The
Shape.contains()method allows aShapeimplementation to conservatively returnfalsewhen:-
the
intersectmethod returnstrueand -
the calculations to determine whether or not the
Shapeentirely contains the rectangular area are prohibitively expensive.
Shapesthis method might returnfalseeven though theShapecontains the rectangular area. TheAreaclass performs more accurate geometric computations than mostShapeobjects and therefore can be used if a more precise answer is required.- Parameters:
x- the X coordinate of the upper-left corner of the specified rectangular areay- the Y coordinate of the upper-left corner of the specified rectangular areaw- the width of the specified rectangular areah- the height of the specified rectangular area- Returns:
trueif the interior of theShapeentirely contains the specified rectangular area;falseotherwise or, if theShapecontains the rectangular area and theintersectsmethod returnstrueand the containment calculations would be too expensive to perform.- Since:
- 1.2
- See Also:
Area,Shape.intersects(double, double, double, double)
-
the
-
getPathIterator
Returns an iteration object that defines the boundary of thisEllipse2D. The iterator for this class is multi-threaded safe, which means that thisEllipse2Dclass guarantees that modifications to the geometry of thisEllipse2Dobject do not affect any iterations of that geometry that are already in process.- Parameters:
at- an optionalAffineTransformto be applied to the coordinates as they are returned in the iteration, ornullif untransformed coordinates are desired- Returns:
- the
PathIteratorobject that returns the geometry of the outline of thisEllipse2D, one segment at a time. - Since:
- 1.2
-
hashCode
public int hashCode()Returns the hashcode for thisEllipse2D.- Overrides:
hashCodein classObject- Returns:
- the hashcode for this
Ellipse2D. - Since:
- 1.6
- See Also:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
Determines whether or not the specifiedObjectis equal to thisEllipse2D. The specifiedObjectis equal to thisEllipse2Dif it is an instance ofEllipse2Dand if its location and size are the same as thisEllipse2D.- Overrides:
equalsin classObject- Parameters:
obj- anObjectto be compared with thisEllipse2D.- Returns:
trueifobjis an instance ofEllipse2Dand has the same values;falseotherwise.- Since:
- 1.6
- See Also:
Object.hashCode(),HashMap
-