/**
 * Diese Klasse ist zur Erzeugung eines Baums
 * 
 * @author Dr.-Ing. U. Kiesmüller
 * @version lauffähige erste Version
 */

public class Baum
{
    // Variablendeklaration
    private Rechteck stamm;
    private VOLLKREIS1 krone;
   
    /**
     * Konstruktor für einen Baum mit schwarzem rechteckigem Stamm und grüner kreisförmiger Baumkrone
     * 
     * @param xlinksoben X-Koordinate der linken oberen Ecke des Baumstamms
     * @param ylinksoben Y-Koordinate der linken oberen Ecke des Baumstamms
     * @param breite Breite des Baumstamms in Pixeln
     * @param hoehe Höhe des Baumstamms in Pixeln
     * 
     */
    public Baum(int xlinksoben, int ylinksoben, int breite, int hoehe)
    {
        stamm = new Rechteck(xlinksoben, ylinksoben, breite, hoehe, 0);
        krone = new VOLLKREIS1 (xlinksoben + breite/2, ylinksoben - 4*breite, (int) 2.5*breite, 2);
    }

    /**
     * Methode zur Abfrage der linken oberen x-Koordinate des Stamm-Rechtecks
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die linke obere x-Koordinate des Stamm-Rechtecks zurückgegeben
     */
    public int gibXStartStamm()
    {
        return stamm.gibXStart();
    }
    
    /**
     * Methode zur Abfrage der oberen y-Koordinate des Stamm-Rechtecks
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die linke obere y-Koordinate des Stamm-Rechtecks zurückgegeben
     */
    public int gibYStartStamm()
    {
        return stamm.gibYStart();
    }
    
    /**
     * Methode zur Abfrage der Breite des Stamm-Rechtecks
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Breite des Stamm-Rechtecks zurückgegeben
     */
    public int gibBreiteStamm()
    {
        return stamm.gibBreite();
    }
    
    /**
     * Methode zur Abfrage der Höhe des Stamm-Rechtecks
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Höhe des Stamm-Rechtecks zurückgegeben
     */
    public int gibHoeheStamm()
    {
        return stamm.gibHoehe();
    }
    
    /**
     * Methode zur Abfrage der Farbe des Stamm-Rechtecks
     * 
     * @return  mit Hilfe des Getters aus der Klasse Rechteck wird die Farbnummer des Stamm-Rechtecks zurückgegeben
     */
    public int gibFarbnrStamm()
    {
        return stamm.gibFarbnr();
    }
    
    /**
     * Methode zur Abfrage der x-Koordinate des Kreismittelpunkts der Baumkrone
     * 
     * @return  mit Hilfe des Getters aus der Klasse VOLLKREIS1 wird die x-Koordinate des Baumkronen-Mittelpunkts zurückgegeben
     */
    public int gibXMitteKrone()
    {
        return krone.gibXMitte();
    }
    
    /**
     * Methode zur Abfrage der y-Koordinate des Kreismittelpunkts der Baumkrone
     * 
     * @return  mit Hilfe des Getters aus der Klasse VOLLKREIS1 wird die y-Koordinate des Baumkronen-Mittelpunkts zurückgegeben
     */
    public int gibYMitteKrone()
    {
        return krone.gibYMitte();
    }
    
    /**
     * Methode zur Abfrage des Radius der Baumkrone
     * 
     * @return  mit Hilfe des Getters aus der Klasse VOLLKREIS1 wird der Radius des Baumkronen-Kreises zurückgegeben
     */
    public int gibRadiusKrone()
    {
        return krone.gibRadius();
    }
            
    /**
     * Methode zur Abfrage der Farbe der Baumkrone
     * 
     * @return  mit Hilfe des Getters aus der Klasse VOLLKREIS1 wird die Farbnummer des Baumkronen-Kreises zurückgegeben
     */
    public int gibFarbnrKrone()
    {
        return krone.gibFarbnr();
    }
}
