package inherShapes;

public class Triangle extends Shape{

	private double base;
	private double height;

	public Triangle(Point ll, double base, double height) {
		super(ll);
		this.base=base;
		this.height=height;
	}

	public Point max() { return new Point(ll.getX()+base,ll.getY()+height); }

	public double perimiter() { return base + height + Math.sqrt(base*base + height*height); }
	public double area() { return base * height / 2.0; }

	@Override public String toString() {
		return super.toString() +" b=" + base + " h=" + height;
	}

	@Override public boolean equals(Object obj) {
		if (!(obj instanceof Triangle)) return false;
		Triangle t = (Triangle) obj;
		return (super.equals(t) && t.base==this.base && t.height == this.height);
	}

	@Override public int hashCode() {
		Double baseBoxed = base;
		Double heightBoxed = height;
		return super.hashCode() + baseBoxed.hashCode() + heightBoxed.hashCode();
	}

}