pythagoras.i

## Class AbstractPoint

• All Implemented Interfaces:
Cloneable, IPoint
Direct Known Subclasses:
Point

```public abstract class AbstractPoint
extends Object
implements IPoint```
Provides most of the implementation of `IPoint`, obtaining only the location from the derived class.
• ### Constructor Summary

Constructors
Constructor and Description
`AbstractPoint()`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`Point` ```add(int x, int y)```
Translates this point by the specified offset.
`Point` ```add(int x, int y, Point result)```
Translates this point by the specified offset and stores the result in the object provided.
`Point` `clone()`
Returns a mutable copy of this point.
`int` ```distance(int px, int py)```
Returns the Euclidian distance between this point and the specified point.
`int` `distance(IPoint p)`
Returns the Euclidian distance between this point and the supplied point.
`int` ```distanceSq(int px, int py)```
Returns the squared Euclidian distance between this point and the specified point.
`int` `distanceSq(IPoint p)`
Returns the squared Euclidian distance between this point and the supplied point.
`boolean` `equals(Object obj)`
`int` `hashCode()`
`Point` ```subtract(int x, int y)```
Subtracts the supplied point from `this`.
`Point` ```subtract(int x, int y, Point result)```
Subtracts the supplied point from `this` and stores the result in `result`.
`Point` ```subtract(IPoint other, Point result)```
Subtracts the supplied point from `this` and stores the result in `result`.
`String` `toString()`
• ### Methods inherited from class java.lang.Object

`getClass, notify, notifyAll, wait, wait, wait`
• ### Methods inherited from interface pythagoras.i.IPoint

`x, y`
• ### Constructor Detail

• #### AbstractPoint

`public AbstractPoint()`
• ### Method Detail

• #### distanceSq

```public int distanceSq(int px,
int py)```
Description copied from interface: `IPoint`
Returns the squared Euclidian distance between this point and the specified point.
Specified by:
`distanceSq` in interface `IPoint`
• #### distanceSq

`public int distanceSq(IPoint p)`
Description copied from interface: `IPoint`
Returns the squared Euclidian distance between this point and the supplied point.
Specified by:
`distanceSq` in interface `IPoint`
• #### distance

```public int distance(int px,
int py)```
Description copied from interface: `IPoint`
Returns the Euclidian distance between this point and the specified point.
Specified by:
`distance` in interface `IPoint`
• #### distance

`public int distance(IPoint p)`
Description copied from interface: `IPoint`
Returns the Euclidian distance between this point and the supplied point.
Specified by:
`distance` in interface `IPoint`

```public Point add(int x,
int y)```
Description copied from interface: `IPoint`
Translates this point by the specified offset.
Specified by:
`add` in interface `IPoint`
Returns:
a new point containing the result.

```public Point add(int x,
int y,
Point result)```
Description copied from interface: `IPoint`
Translates this point by the specified offset and stores the result in the object provided.
Specified by:
`add` in interface `IPoint`
Returns:
a reference to the result, for chaining.
• #### subtract

```public Point subtract(int x,
int y)```
Description copied from interface: `IPoint`
Subtracts the supplied point from `this`.
Specified by:
`subtract` in interface `IPoint`
Returns:
a new point containing the result.
• #### subtract

```public Point subtract(int x,
int y,
Point result)```
Description copied from interface: `IPoint`
Subtracts the supplied point from `this` and stores the result in `result`.
Specified by:
`subtract` in interface `IPoint`
Returns:
a reference to the result, for chaining.
• #### subtract

```public Point subtract(IPoint other,
Point result)```
Description copied from interface: `IPoint`
Subtracts the supplied point from `this` and stores the result in `result`.
Specified by:
`subtract` in interface `IPoint`
Returns:
a reference to the result, for chaining.
• #### clone

`public Point clone()`
Description copied from interface: `IPoint`
Returns a mutable copy of this point.
Specified by:
`clone` in interface `IPoint`
Overrides:
`clone` in class `Object`
• #### equals

`public boolean equals(Object obj)`
Overrides:
`equals` in class `Object`
• #### hashCode

`public int hashCode()`
Overrides:
`hashCode` in class `Object`
• #### toString

`public String toString()`
Overrides:
`toString` in class `Object`