package com.edinarobotics.utils.math;

/**
 * This class implements a coordinate point on a plane, defined by the x
 * and y unit distance from the origin.
 */
public class Point2 {
    private double x;
    private double y;
    
    /**
     * Creates a two-dimensional point based on the x and y values described.
     * @param x The x value of the point
     * @param y The y value of the point
     */
    public Point2(double x, double y) {
        this.x = x;
        this.y = y;
    }
    
    /**
     * Returns the x coordinate of the point
     * @return The x coordinate
     */
    public double getX() {
        return x;
    }
    
    /**
     * Returns the y coordinate of the point
     * @return The y coordinate
     */
    public double getY() {
        return y;
    }
}

@@ -630,24 +630,1445 @@
 urn x;%0A    %7D
+%0A%0A    /**%0A     * Returns an %7B@code int%7D hash code value for this Point2.%0A     * @return An %7B@code int%7D hash code value for this Point2.%0A     */%0A    public int hashCode() %7B%0A        //Auto-generated hashCode method.%0A        int hash = 7;%0A        hash = 19 * hash + (int) (Double.doubleToLongBits(getX()) %5E (Double.doubleToLongBits(getX()) %3E%3E%3E 32));%0A        hash = 19 * hash + (int) (Double.doubleToLongBits(getY()) %5E (Double.doubleToLongBits(getY()) %3E%3E%3E 32));%0A        return hash;%0A    %7D%0A    %0A    /**%0A     * Determines whether an Object is equal to this Point2.%0A     * %0A     * An object is equal to this Point2 if it is also an instance of Point2%0A     * and if it contains equal components.%0A     * @param other The object to be tested for equality against this Point2.%0A     * @return %7B@code true%7D if the objects are equal as defined above%0A     * %7B@code false%7D otherwise.%0A     */%0A    public boolean equals(Object other)%7B%0A        if(other instanceof Point2)%7B%0A            Point2 otherPoint = (Point2)other;%0A            return otherPoint.getX() == getX() && otherPoint.getY() == getY();%0A        %7D%0A        return false;%0A    %7D%0A    %0A    /**%0A     * Returns a String representation of this Point2.%0A     * %0A     * This representation is designed to be human-readable.%0A     * @return A human-readable String representation of this Point2.%0A     */%0A    public String toString()%7B%0A        return %22%3CPoint2: (%22+getX()+%22, %22+getY()+%22)%3E%22;%0A    %7D
 %0A    %0A    /*

Add hashCode, equals, and toString methods to Point2.