import java.applet.Applet;
import java.awt.*;
import javax.media.j3d.*;
import com.sun.j3d.utils.universe.SimpleUniverse;
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.applet.MainFrame;
 
// Applet de base pour visualiser des scènes 3D
public class Applet3D extends Applet 
{
  // Méthode appelée à l'initialisation de l'applet
  public void init ()
  {    
    // Création d'un composant de classe Canvas3D permettant de visualiser une scène 3D
    // Avec JFree-D, utiliser new Canvas3D (null) dans la ligne suivante
    Canvas3D canvas = new Canvas3D (SimpleUniverse.getPreferredConfiguration ());
    setLayout (new BorderLayout ());
    add (canvas, BorderLayout.CENTER);
 
    // Création de la scène 3D à visualiser
    BranchGroup scene = createSceneTree ();
 
    // Création d'un univers 3D rattaché au composant 3D
    SimpleUniverse universe = new SimpleUniverse (canvas);
    // Rattachement de la scène 3D à l'univers
    universe.addBranchGraph (scene);
    // Positionnement pour avoir une vue correcte sur la scène 3D 
    // (permet de voir une scène 3D contenue dans un cube d'1 unité  
    // de côté et centré sur le centre du repère).
    universe.getViewingPlatform ().setNominalViewingTransform ();
  }
 
  public BranchGroup createSceneTree ()
  {
    // Racine de l'arbre des objets représentés dans la scène 3D
    BranchGroup root = new BranchGroup();
    // Création d'un cube coloré dont deux des sommets opposés sont 
    // situés en (-0.5,-0.5,-0.5) et (0.5,0.5,0.5)
    ColorCube cube = new ColorCube (0.5);
    // Ajout du cube à la racine de l'arbre
    root.addChild (cube);
    return root;
  }
 
  // Méthode main () pour permettre d'utiliser cette classe 
  // comme applet ou comme application
  public static void main (String [] args) 
  {
    // La classe com.sun.j3d.utils.applet.MainFrame est une classe 
    // qui crée automatiquement une fenêtre avec l'applet passée en paramètre
    new MainFrame (new Applet3D (), args, 150, 150);
  }  
}
			
		
 
	
Partager