/**
 * Clase utilizada para representar una agrupación de figuras geométricas.
 * 
 * @author Josep Silva 
 * @version 11 Enero 2017
 */

public class GrupoFiguras <T extends Figura>
{
    static final int MAX_NUM_FIGURAS = 10;
    private Figura [] listaFiguras = new Figura [MAX_NUM_FIGURAS];
    private int numF=0;
    private T favorita; 
    
    //Constructor
    public GrupoFiguras(T x)
    {
        favorita = x;
    }

    public T favorita() 
    {
        return favorita;
    }

    public int numFiguras() 
    {
        return numF;
    }

    public void anyadeFigura(Figura f) 
    {
        listaFiguras[numF++]= f;
    }
    
    public void desplazar(double dx, double dy)
    {      
        for(int i=0; i<numF; i++)
        {
           if (listaFiguras[i] instanceof Volumen)
           {
               Volumen figVol = ((Volumen) listaFiguras[i]);
               figVol.desplazar(dx,dy);
           }
        }   
    }
    
    public void imprimirPosiciones()
    {      
        for(int i=0; i<numF; i++)
        {
           System.out.println("Posicion de las figura "+(i+1)+": ("+listaFiguras[i].x+", "+listaFiguras[i].y+")");
        }   
    }

}
