begin process at 2012 02 13 05:24:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Java2D et java3D

 > 

Java3D-MouseRotate-Mémoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Java3D-MouseRotate-Mémoire

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ée 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 problemme de transformation des types premitifs vers des types objets [ par ange25gh ] Bonjour J’ai fait un petit programme pour l’obfuscation de code java, et mon problème est que je sais pas comment rendre mon petit programme transfor Manipulation d'objet à travers vues [ par Starter34 ] Bonjour à tous, Je cherche de l'aide sur un point qui me semble tenir du concept de base de l'approche objet. Voilà, je développe une application st sujet de mémoire [ par nabila13000 ] je suis une étudiante en master informatique spécialité SIC(systeme d'information et de connaissances),je cherche un bon sujet,svp aidez moi !!!! mémoire d'informatique [ par hadjine ] svp aide moi sur mémoire d'informatique le theme est :télémédecine documentation ,application,etc lier des attributs d'objets [ par medez2 ] Bonjour, je sèche complètement sur un problème. C'est surement très simple, mais je beugue. J'ai une classe MaClasse, qui a les attributs suivants: affichage d'une image [ par dabidabi ] bonjour tt le monde, voila je veux afficher des images, pour cela j'ai crée une classe(JPanel) objets qui affiche les images, et une autre classe(JF


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,201 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales