Prev Class | Next Class | Frames | No Frames |

Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |

`java.lang.Object`

`java.awt.geom.Point2D`

**Implemented Interfaces:**- Cloneable

**Known Direct Subclasses:**- Point, Point2D.Double, Point2D.Float

This class implements a generic point in 2D Cartesian space. The storage
representation is left up to the subclass. Point includes two useful
nested classes, for float and double storage respectively.

**Since:**- 1.2

## Nested Class Summary

`static class`

`Point2D.Double`

- This class defines a point in
`double`

precision.

`static class`

`Point2D.Float`

- This class defines a point in
`float`

precision.

## Constructor Summary

`Point2D()`

- The default constructor.

## Method Summary

`Object`

`clone()`

- Create a new point of the same run-time type with the same contents as this one.

`double`

`distance(double x, double y)`

- Return the distance from this point to the given one.

`static double`

`distance(double x1, double y1, double x2, double y2)`

- Return the distance between two points.

`double`

`double`

`distanceSq(double x, double y)`

- Return the square of the distance from this point to the given one.

`static double`

`distanceSq(double x1, double y1, double x2, double y2)`

- Return the square of the distance between two points.

`double`

`distanceSq(Point2D p)`

- Return the square of the distance from this point to the given one.

`boolean`

`abstract double`

`getX()`

- Get the X coordinate, in double precision.

`abstract double`

`getY()`

- Get the Y coordinate, in double precision.

`int`

`hashCode()`

- Return the hashcode for this point.

`abstract void`

`setLocation(double x, double y)`

- Set the location of this point to the new coordinates.

`void`

`setLocation(Point2D p)`

- Set the location of this point to the new coordinates.

### Methods inherited from class java.lang.Object

`clone`

,`equals`

,`extends Object> getClass`

,`finalize`

,`hashCode`

,`notify`

,`notifyAll`

,`toString`

,`wait`

,`wait`

,`wait`

public Object clone()

Create a new point of the same run-time type with the same contents as this one.

Returns:- the clone

public double distance(double x, double y)

Return the distance from this point to the given one.

Parameters:`x`

- the x coordinate of the other point`y`

- the y coordinate of the other point

Returns:- the distance

public static double distance(double x1, double y1, double x2, double y2)

Return the distance between two points.

Parameters:`x1`

- the x coordinate of point 1`y1`

- the y coordinate of point 1`x2`

- the x coordinate of point 2`y2`

- the y coordinate of point 2

Returns:- the distance from (x1,y1) to (x2,y2)

public double distance(Point2D p)

Return the distance from this point to the given one.

Parameters:`p`

- the other point

Returns:- the distance

Throws:`NullPointerException`

- if p is null

public double distanceSq(double x, double y)

Return the square of the distance from this point to the given one.

Parameters:`x`

- the x coordinate of the other point`y`

- the y coordinate of the other point

Returns:- the square of the distance

public static double distanceSq(double x1, double y1, double x2, double y2)

Return the square of the distance between two points.

Parameters:`x1`

- the x coordinate of point 1`y1`

- the y coordinate of point 1`x2`

- the x coordinate of point 2`y2`

- the y coordinate of point 2

Returns:- (x2 - x1)^2 + (y2 - y1)^2

public double distanceSq(Point2D p)

Return the square of the distance from this point to the given one.

Parameters:`p`

- the other point

Returns:- the square of the distance

Throws:`NullPointerException`

- if p is null

public boolean equals(Object o)

Compares two points for equality. This returns true if they have the same coordinates.

Parameters:`o`

- the point to compare

Returns:- true if it is equal

public abstract double getX()

Get the X coordinate, in double precision.

Returns:- the x coordinate

public abstract double getY()

Get the Y coordinate, in double precision.

Returns:- the y coordinate

public int hashCode()

Return the hashcode for this point. The formula is not documented, but appears to be the same as:long l = Double.doubleToLongBits(getY()); l = l * 31 ^ Double.doubleToLongBits(getX()); return (int) ((l >> 32) ^ l);

Returns:- the hashcode

public abstract void setLocation(double x, double y)

Set the location of this point to the new coordinates. There may be a loss of precision.

Parameters:`x`

- the new x coordinate`y`

- the new y coordinate

public void setLocation(Point2D p)

Set the location of this point to the new coordinates. There may be a loss of precision.

Parameters:`p`

- the point to copy

Throws:`NullPointerException`

- if p is null

Point2D.java -- generic point in 2-D space
Copyright (C) 1999, 2000, 2002, 2004, 2006, Free Software Foundation
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.