[Java3D] Ajout dynamique de Shape3D
Bonjour, dans une application je dois ajouter et supprimer des shape3D dynamiquement, selon des actions de l'utilisateur.
J'ai donc une méthode "show" qui doit afficher mon shape3D quand elle est appelée suite à une action de l'utilisateur.
Voici son code:
Code:
1 2 3 4 5 6 7 8 9 10
|
GraphicTile tile = new GraphicTile(name); // GraphicTile est une classe qui hérite de Shape3D
Transform3D translate = new Transform3D();
translate.set(Squares.getSquare(place));
TransformGroup tg = new TransformGroup(translate);
tg.addChild(tile);
BranchGroup bg = new BranchGroup();
bg.addChild(tg);
bg.setCapability(BranchGroup.ALLOW_DETACH);
sceneBG.addChild(bg); // sceneBG est le branchgroup principal |
Ca fonctionne bien mais ça m'ennuie de devoir créer un branchgroup pour chaque Shape3D.
Je trouve ça lourd et bizarre au niveau conception mais si j'essaie de faire directement sceneBG.addChild(tg), ou même sceneBG.addChild(tile),
j'ai ce message d'erreur:
Exception in thread "main" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
Est-ce qu'il y a une autre méthode qui m'éviterait de créer un branchgroup par shape3D?
Merci.