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