
/**
 * Clase utilizada para representar una agrupación de figuras geométricas.
 * 
 * @author Josep Silva 
 * @version 2 Octubre 2012
 */

public class GrupoFiguras
{
    static final int MAX_NUM_FIGURAS = 10;
    private Figura [] listaFiguras = new Figura [MAX_NUM_FIGURAS];
    private int numF=0;

    //Constructor
    public GrupoFiguras(){}

    public int numFiguras() 
    {
        return numF;
    }

    public void anyadeCirculo(Circulo c) 
    {
        listaFiguras[numF++]= c;
    }
    
    public void anyadeCilindro(Cilindro ci) 
    {
        listaFiguras[numF++]= ci;
    }

    public void anyadeCubo(Cubo cu) 
    {
        listaFiguras[numF++]= cu;
    }
    
    public double volumen()
    {
        double vol=0;
        
        for(int i=0; i<numF; i++)
        {
           if (listaFiguras[i] instanceof Volumen)
           {
                vol = vol + ((Volumen) listaFiguras[i]).volumen();
           }
        }   
        
        return vol;
    }
}
