All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.psjava.ds.geometry.Polygon2D Maven / Gradle / Ivy

There is a newer version: 0.1.19
Show newest version
package org.psjava.ds.geometry;

import org.psjava.ds.array.AddToLastAll;
import org.psjava.ds.array.DynamicArray;
import org.psjava.util.EqualityTester;
import org.psjava.util.StrictEqualityTester;

public class Polygon2D implements EqualityTester> {
	
	public static  Polygon2D create(Iterable> src) {
		return new Polygon2D(src);
	}

	private final DynamicArray> points = DynamicArray.create();
	
	private Polygon2D(Iterable> src) {
		AddToLastAll.add(points, src);
	}

	public boolean equals(Object obj) {
		return StrictEqualityTester.areEqual(this, obj, this);
	}

	@Override
	public boolean areEqual(Polygon2D o1, Polygon2D o2) {
		return o1.points.equals(o2.points);
	}

	@Override
	public int hashCode() {
		return points.hashCode();
	}

	public int pointNumber() {
		return points.size();
	}
	
	public Point2D get(int index) {
		return points.get(index);
	}
	
	public int size() {
		return points.size();
	}
	
	@Override
	public String toString() {
		return "Polygon" + points;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy