/*
 * Copyright (C) 2011-2015, Peter Abeles. All Rights Reserved.
 *
 * This file is part of Geometric Regression Library (GeoRegression).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package georegression.struct.point;

import georegression.struct.GeoTuple;

/**
 * An integer 2D point
 */
public class Point2D_I32 extends GeoTuple {
	public int x;
	public int y;

	public Point2D_I32( int x, int y ) {
		this.x = x;
		this.y = y;
	}

	public Point2D_I32( Point2D_I32 orig ) {
		this.x = orig.x;
		this.y = orig.y;
	}

	public Point2D_I32() {
	}

	public void set( Point2D_I32 v ) {
		this.x = v.x;
		this.y = v.y;
	}

	public void set( int x, int y ) {
		this.x = x;
		this.y = y;
	}

	public void setX( int x ) {
		this.x = x;
	}

	public void setY( int y ) {
		this.y = y;
	}

	public final int getX() {
		return x;
	}

	public final int getY() {
		return y;
	}

	public double distance( Point2D_I32 a ) {
		int dx = x-a.x;
		int dy = y-a.y;

		return Math.sqrt(dx*dx + dy*dy);
	}

	/**
	 * 

* Returns the Euclidean distance squared from 'this' to 'a'. No floating point * operations are used. *

* *

* d2 = (this.x-a.x)2 + (this.y-a.y)2 *

* * @param a Point that distance is computed from. * @return Euclidean distance squared. */ public int distance2( Point2D_I32 a ) { int dx = x-a.x; int dy = y-a.y; return dx*dx + dy*dy; } public Point2D_I32 copy() { return new Point2D_I32( this ); } @Override public String toString() { return "Point2D_I32{" + "x=" + x + ", y=" + y + '}'; } @Override public int getDimension() { return 2; } @Override public Point2D_I32 createNewInstance() { return new Point2D_I32(); } }

Ads help maintain this website.