Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Java3D-MouseRotate-Mémoire [ Archives / Java2D et java3D ] (MasterGreg)

mardi 25 mai 2004 à 13:30:07 | Java3D-MouseRotate-Mémoire

MasterGreg


Bonjour,

Je dois pour un projet insérer plusieurs objets 3D (lus à partir d'un fichier obj) dans un Panel. Ca marche pour un petit nombre d'objets, mais à partir d'une trentaine (variable suivant les machines) les derniers objets chargés ne s'affichent plus (je n'ai que le fond). A priori ça vient de la mémoire ; quelqu'un pourrait-il me le confirmer ?

De plus, j'aimerais qu'en appliquant une transformation sur un des objets (via MouseRotate ou MouseTranslate), cette transformation soit appliquée en même temps sur un deuxième objet (ou même plus). Je dois donc (je pense) récupérer la matrice de transformation, mais comment faire ? Existe-t-il un événement du type "On_MouseRotate" ??

C'est pour un projet de fin d'année, alors merci d'avance !!!

Grégory

mardi 25 mai 2004 à 14:09:33 | Re : Java3D-MouseRotate-Mémoire

dmaillet

---pour la premiere question: qu'entends tu par je n'ai que le fond?
Ils sortent des limits de vison?
Aggrandis les...
---pour la deuxieme, qd tu dis rotation ou translation, tu veux dire a partir d'une origine differente? Car sinon, tout dependre de la facon d'accrocher tes objets avec le transformgroup ou il y a les translation rotation

c quoi ton projet?
---------------------------------------------
dams
...en dansant la javanaise ...
---------------------------------------------

mardi 25 mai 2004 à 18:15:26 | Re : Java3D-MouseRotate-Mémoire

MasterGreg

Salut

1) quand je dis je n'ai que le fond, c'est que l'objet en lui-même n'apparaît pas : je n'ai que la couleur de fond (cf l'exemple objLoad fourni avec Java3D) (mais c'est vraisemblablement lié à un manque de RAM au bout d'un certain nombre d'objets chargés)

2) Pour mon deuxième problème, ce que j'aimerais faire, c'est : avoir deux objets côte à côté mais dans deux Panel DISTINCTS (donc pas dans le même TransformGroup), et faire en sorte que quand je fais tourner l'un (ou bien que je zoome, etc) la même transformation soit appliquée en même temps sur le second objet.
Je ne sais pas si c'est très clair

Merci d'avance !

Grégory

mercredi 26 mai 2004 à 08:49:26 | Re : Java3D-MouseRotate-Mémoire

dmaillet

1) tu es sur que ton obj loade ne sors pas des bounds de ta vue?
tu as fait un setBackClipDistance suffisamment grand?
Car si c'etait un manque de Ram, tu aurais un java lang outofmemory exception
dans tout les cas, qd tu aas des pb de ram, tu peux deja specifie plus de ram a l'execution de ta machine virtuelle
java -Xms128m -Xmx512m
128Mo min, 512Mo max,
par defaut ce dernier est a 256 je crois

2)Je vois ce que tu veux dire, et oui il faut en fait 2 TG differents, l'un ayant les comportements, plus un ecouteur de mouvement de souris, pour catcher un event et recuperer la transformation a ppliquer sur l'autre...
Apres, tu peux mettre ca dans 2 canvas differents si tu veux, avec la meme view... ou bien dans le meme canvas...

BisRepetita: c quoi ton proj? tu fais quoi comme etude?

---------------------------------------------
dams
...en dansant la javanaise ...
---------------------------------------------

mercredi 26 mai 2004 à 09:24:49 | Re : Java3D-MouseRotate-Mémoire

MasterGreg


OK merci déjà pour ces renseignements.
Je suis en Licence Info. et mon projet consiste à pouvoir charger plusieurs objets au format OBJ, en choisir un de référence par Glisser-Deposer, lui appliquer les transformations (rotation, translation, homothétie) et que simultanément les autres subissent les mêmes translations. C'est une partie du projet, mais quand je saurais faire ça, je pense que le reste ira...(le reste consiste à établir un classement des objets).

Par contre j'ai fait un test dans un premier temps avec Behavior qui regarde si on appuie sur deux touches du clavier (d ou g) pour faire tourner le cube donc évidemment à l'intérieur du processStimulus de cette class je vois la transform3D, mais c'est pour l'appliquer aux autres que je bute. T'aurais pas un morceau de code ?
Désolé, je me suis mis à Java3D y'a très peu de temps, et je patauge un peu...J'ai bien demandé à mes encadrants mais malheureusement ils ne connaissent pas Java3D...

En tout cas, merci pour ce qui précéde, et merci pour ce qui arrive :o))

Grégory

mercredi 26 mai 2004 à 09:40:41 | Re : Java3D-MouseRotate-Mémoire

MasterGreg

Pour mon premier problème, au fait, ce n'est qu'avec la version DirectX qu'à partir d'un certain nombre les objets ne s'affichent plus (Pour mes essais, je charge toujours le même fichier, donc pas de problème de distance), et j'obtenais un message : fail to lock Vertex Buffer D3D_INTERNAL_ERROR (en gros).

J'ai changé pour une version OpenGL de DirectX et voici ce que j'obtiens à partir d'un certain nombre de fichiers chargés :
java.lang.InternalError
at javax.media.j3d.MasterControl.getCanvasBit(MasterControl.java:1049)
at javax.media.j3d.Canvas3D.addNotify(Canvas3D.java:1324)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at java.awt.Panel.addNotify(Panel.java:71)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at java.awt.ScrollPane.addNotify(ScrollPane.java:518)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at java.awt.Container.addNotify(Container.java:2049)
at javax.swing.JComponent.addNotify(JComponent.java:4291)
at javax.swing.JRootPane.addNotify(JRootPane.java:676)
at java.awt.Container.addNotify(Container.java:2049)
at java.awt.Window.addNotify(Window.java:418)
at java.awt.Frame.addNotify(Frame.java:482)
at java.awt.Window.pack(Window.java:436)
at com.borland.jbuilder.runtime.applet.AppletTestbed.startApplet(Unknown Source)
at com.borland.jbuilder.runtime.applet.AppletTestbed.main(Unknown Source)

donc je pense qu'il y a dépassement de capacité quelque part, mais je ne sais pas à quel niveau...

Grégory

mercredi 26 mai 2004 à 10:14:25 | Re : Java3D-MouseRotate-Mémoire

dmaillet

1)pour ton dernier post:
essai de ne pas mettre ton appli dans un applet, et enleve ton frame.pack() dans ton code...
met lui une size dans ton code et c'est tout pour voir...
si tu es sous windows, directX est mieux adaptes,
mais bien souvent, OpenGl est mieux...
continue a tester les deux...

2)Pour appliquer ton transform3d aux autres obj,:
TransformGroup tgdetonobj. = bgdetonobj.getTransformGroup();
tgdetonobj.setTransform(tontransform3drecupere);

---------------------------------------------
dams
...en dansant la javanaise ...
---------------------------------------------

vendredi 30 décembre 2005 à 18:03:29 | Re : cree dossier

mohaciel

 salut,
aidez moi

j'en sais pas comment cree des dossier  avec java
merci


mercredi 4 janvier 2006 à 08:54:28 | Re : Java3D-MouseRotate-Mémoire

dmaillet

Regarde sur la classe java.io.File, tu y trouveras ton bonheur.
Mais soit disant passant, tu a mis ce poste n'importe ou...
pense d'abord a chercher sur le forum,
et surtout sur internet (Google est ton ami...)
ou bien cree un nouveau post...






Cette discussion est classé dans : mémoire, transformation, objets, mouserotate, java3d


Répondre à ce message

Sujets en rapport avec ce message

[debutante][java3d] un objet dans un objet [ par ametisse ] Salut, je suis débutante en java3d et j'aurais besoin de savoir comment on fait pour mettre des objets dans d'autres objets.En fait, je souhaite creer collision des Objets en java3D [ par a_farsi ] Bonjourj'ai essayer un progrmme de collision des objets en java3D (exemple appelé TickTockCOllision donné avec les exemples de bases lors de l'instala [Java3D] Comment centrer la vue sur des objets WaveFront ? [ par frac10 ] Tout d'abord, bonjour à tout le monde ! Alors je m'explique un tout petit peu quand même : je suis en projet et je dois réaliser une modélisation 3D d mémoire et java3d [ par JCDjcd ] Bonjour,je voudrais savoir si c'est possible en Java3D de faire la chose suivante :je crée plein de Shape3D (par exemple des triangles, et les formess retourner un type de list [ par Also know as ] Bonjour, J'ai une liste qui contient des objets et je cherche le moyen de récupérer le type de ces objets. Je peux les avoir grâce a une méthode qui m importation de .obj en java3d et animation [ par zetycoon ] Bonjour, je n'ai pas trouver pour le moment de reponse a mes problemes (asser simple normalement).Je debute en java3d et je veux creer une animation.J java3d dans netbeans 6.5? [ par tugudul ] salutje viens d'installer netbeans 6.5 et javafx. j'y ai créer une nouvelle librairie java3d ou j'ai été cherché les 3 jars suivants :C:\Program Files [Windows XP] Un processus qui consomme beaucoup de mémoire [ par Chatbour ] Salut à tous et à toutes, j'ai découvert que le processus System consomme plus que 50Mo de R affichage des objets. [ par iluga ] Salut à tous.je suis un débutant en java et j'ai établi la connexion entre une base de donnée et java sous éclipse mais j'ai du mal à afficher les obj thème de mémoire [ par miss2002 ] Bonjour, Élève en dernière année d'ingénierie informatique option génie logiciel (développement), j'aimerais que l'on me propose des thèmes de mémoire


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,530 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.