
// Trees3D.java
// Andrew Davison, April 2005, ad@fivedots.coe.psu.ac.th

/* Demonstruje techniku pro simulaci růstu aplikovanou
   na stromy, které rostou a raší listí.

   1. Používá škálování pro postupné natahování válců reprezentujících větve.

   2. Postupně mění barvu válců ze zelené na modrou.

   3. Listy na stromě jsou ve skutečnosti jedním obrázek na "obrazovce".
      Obrázek lze nahradit jiným, který obsahuje více listů, což vytváří
      efekt, jako by listy rostly.

   Změny prováděné v každém časovém snímku na větvi stromu se specifikují
   pomocí "pravidel" v objektu typu GrowthBehavior. Tato pravidla lze upravovat
   a docílit tak řady zajímavých efektů.
*/

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class Trees3D extends JFrame
{
  public Trees3D() 
  {
    super("Trees3D");
    Container c = getContentPane();
    c.setLayout( new BorderLayout() );
    WrapTrees3D w3d = new WrapTrees3D();     // panel uchovávající 3D-canvas
    c.add(w3d, BorderLayout.CENTER);

    setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    pack();
    setResizable(false);    // rozměry okna jsou pevně dány
    setVisible(true);
  } // konec metody: Trees3D()


// -----------------------------------------

  public static void main(String[] args)
  { new Trees3D(); }

} // konec třídy: Trees3D
