
/**
 * Classe Rettangolo rappresentato come origine e altezza
 * e larghezza.
 * 
 * @author Guido Boella
 * @version 12-11-2003
 */
public class Rettangolo
{
    // instance variables
    private Punto a;
    private Punto b;
    private Punto c;
    private Punto d;

    /**
     * Constructor for objects of class Rettangolo
     @param rx coordinata x piu' vicina all'origine
    */
    public Rettangolo(double rx,double ry,double sx,double sy)
    {
        // initialise instance variables
	a = new Punto(rx,ry);
	b = new Punto(rx,sy);
	c = new Punto(sx,sy);
	d = new Punto(sx,ry);
    }

        
    /**
	 * Calcola l area del rettangolo
	 * 
     * @return area del rettangolo 
     */
    public double area()
    {
        return (a.distanza(b) * a.distanza(d));
    }
  
    /**
	 * Calcola il perimetro del rettangolo
	 * 
     * @return perimetro del rettangolo 
     */
    public double perimetro()
    {
        return ((a.distanza(b) + a.distanza(d)) * 2);
    }
    
    /**
	 * Trasla un rettangolo
	 * 
	 * @param  dx  delta su x
	 * @param  dy  delta su y
     * @return void 
     */
    public void trasla(double dx, double dy)
    {
        a.trasla(dx, dy);
        b.trasla(dx, dy);
        c.trasla(dx, dy);
        d.trasla(dx, dy);
    }
    
}
