IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

3D Java Discussion :

[Java3D] Ajout dynamique de Shape3D


Sujet :

3D Java

  1. #1
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut [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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    Développeur écolo, je suis pour le développement durable.

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Tu as eu la réponse à ta question ??

    Si tu pouvais nous dire comment tu as résolu ton problème, je suis intéressé

    EDIT : j'ai rien trouvé de neuf jusqu'à maintenant... Tant pis

  3. #3
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    En cherchant un peu plus sur le forum j'ai trouvé une discussion où on parlait du même problème et la conclusion était qu'il n'y a pas d'autres moyens mais que ça n'est pas gênant pour les performances.
    Développeur écolo, je suis pour le développement durable.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    tu n es pas oblige de refaire un branchgroup:

    bg.detach();

    // mes operations

    universe.addBranchGraph(bg);

    ca marche aussi

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Tu n'es pas obligé de redeclaré ton branchgroup a chaque fois tu as deux solutions soit tu cree une fonction qui le cree et l'ajoute a l'universe et il suffit que tu l'appelle.
    soit tu détache ton shape3D a ton branchgroupe et tu ajoute le nouveau.
    Bon courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA] Ajouter dynamiquement une référence
    Par jpharand dans le forum VBA Access
    Réponses: 23
    Dernier message: 16/04/2010, 23h28
  2. Ajout dynamique de colonne identity
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/11/2005, 16h40
  3. ajouter dynamiquement des items dans un popup menu
    Par Malone dans le forum Composants VCL
    Réponses: 7
    Dernier message: 23/08/2005, 16h08
  4. Réponses: 2
    Dernier message: 10/05/2005, 15h54
  5. Ajout dynamique d'un contrôle à une fenêtre
    Par Yacine95000 dans le forum MFC
    Réponses: 6
    Dernier message: 08/06/2004, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo