import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import com.sun.j3d.utils.applet.MainFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.*;
import javax.vecmath.*;

public class testCap extends Applet implements ActionListener{
  CapturingCanvas3D canvas3D;


  public testCap() {
    setLayout(new BorderLayout());
    canvas3D = new CapturingCanvas3D(null);
    add("Center", canvas3D);
    BranchGroup scene = createSceneGraph();
    scene.compile();
    SimpleUniverse simpleU = new SimpleUniverse(canvas3D);
    simpleU.getViewingPlatform().setNominalViewingTransform();
    simpleU.addBranchGraph(scene);
    Button b = new Button("Apply");
    b.addActionListener(this);
    add("South",b);
  }
  
  public BranchGroup createSceneGraph() {
    BranchGroup objRoot = new BranchGroup();

    Transform3D rotate = new Transform3D();
    Transform3D tempRotate = new Transform3D();
    rotate.rotX(Math.PI/4.0d);
    tempRotate.rotY(Math.PI/4.0d);
    rotate.mul(tempRotate);
    TransformGroup objRotate = new TransformGroup(rotate);
    objRotate.addChild(new ColorCube(0.4));
    objRoot.addChild(objRotate);
    return objRoot;
  }
  
  public void actionPerformed(ActionEvent e) {
    canvas3D.writeJPEG_ = true;
    canvas3D.repaint();
  }

  public static void main(String[] args) {
    Frame frame = new MainFrame(new testCap(), 256, 256);
  }
}
