It is obvious that the node that you are picking does not contain any user data. And yes, the user data is there only if you put it. So, when you create the object, don't forget to put the user data. Believe me, if you make it correct, user data is there and ready to help you!
Cheers, Florin -----Urspr�ngliche Nachricht----- Von: Brobbey,Isaac (neuron) [mailto:[EMAIL PROTECTED]] Gesendet: Donnerstag, 6. Februar 2003 17:32 An: [EMAIL PROTECTED] Betreff: Re: [JAVA3D] scene graph object Dear all: i understand everything you saying, but how do i set the User Data ? at the point of creating the cone ? this is what i have: SceneGraphPath []Path = branchGroup.pickAllSorted(pickRay); if(Path!=null) { for (int b=0;b<Path.length;b++) { System.out.println("path[i]="+Path[b]); Node node = Path[b].getObject(); Protein protein = (Protein) node.getUserData(); System.out.println("protein="+protein); } } but it says the protein is null , does that mean that i did not set the user data ? this is what the compiler prints out. why is printing protein=null when infact it is not ? path[i]=javax.media.j3d.Locale@1c7980c : com.sun.j3d.utils.geometry.Cone, Protein@1568fb5 : javax.media.j3d.Shape3Djavax.media.j3d.TriangleFanArray@1f4bcf7 protein=null any Ideas ?? thanks, Isaac -----Original Message----- From: greg baboolal To: Brobbey,Isaac (neuron) Sent: 2/6/03 4:00 AM Subject: RE: [JAVA3D] scene graph object Hi, ID is an arbitrary Object where (i) is an argument in it's constructor. it is part of the demo examples for j3d: C:\j2sdk1.4.0_02\demo\java3d\FourByFour\ID.java By setting a reference to a corresponding Object in the userData, for example, one could then do something like this: Protein protein = (Protein) node.getUserData(); Sys.out.print( protein.name ); (assuming that for example 'name' is a var in the Protein Object class ) Got to go, but can discuss later. Greg. --- "Brobbey,Isaac (neuron)" <[EMAIL PROTECTED]> wrote: > Greg: > > thanks, for the insight. > one little thing to know is, how does ID id = new > ID(i); gets created ? > where is the i coming from ? which package is the ID > coming from? > > thanks once again > > > Isaac > > -----Original Message----- > From: greg baboolal > To: [EMAIL PROTECTED] > Sent: 2/5/03 10:08 PM > Subject: Re: [JAVA3D] scene graph object > > Dear Isaac, > > It is not very clear how or why the TriangleFanArray > is being displayed in the scene path. > > As a test I used the Four by Four example in the j3d > example and changed the spheres to Cones, when > printing out the scene path it shows: > > path[0]=javax.media.j3d.Locale@f297e7 : > com.sun.j3d.utils.geometry.Cone, ID@d2fc36 : > javax.media.j3d.Shape3D, ID@d2fc36 > LocalToVworld Transform: > 1.0, 0.0, 0.0, 10.0 > 0.0, 1.0, 0.0, -10.0 > 0.0, 0.0, 1.0, 30.0 > 0.0, 0.0, 0.0, 1.0 > > FOUND:javax.media.j3d.Shape3D@19e15c > ID:ID@d2fc36 > > which makes no reference to a 'tfa'? > > In the Positions file i set the Cones userData with > it's corresponding ID object which is detected and > is > retrievable as demo'd in the above snippet. > > the code to do this was: > > ID id = new ID(i); > posCone[i].setUserData(id); > > The retrieval would then be: > > ID posID = (ID) node.getUserData(); > > This is irrespective of whether, for example, your > Protein extends a Shape3D. I have found it easiest > to > retrieve a reference to an object that is associated > with a geometrical j3d shape by setting a reference > to > that object in the shape3D's userData. > > Maybe someone can clarify this. As I too am in > development of j3d experience I have been following > your postings with interest ( there are similiar > traits to the stuff I have been working with ) thats > why it's nice to see solutions too! > > Anyway hope this helps. > > Greg. > > > > > > > > > > --- "Brobbey,Isaac (neuron)" > <[EMAIL PROTECTED]> wrote: > > Dear all: > > > > consider the snippet below: > > > > int x = ((MouseEvent)event[i]).getX(); > > int y = > > ((MouseEvent)event[i]).getY(); > > System.out.println("x="+" > > "+x); > > PickRay pickRay = > > generatePickRay(x,y); > > SceneGraphPath []Path = > > branchGroup.pickAll(pickRay); > > for (int > b=0;b<Path.length;b++) > > { > > > > System.out.println("path[b]="+Path[b]); > > } > > > > the following print below shows the result of the > > path, i want to retrieve > > the object Protein which i used to make the > > cone.something like > > > > Protein tein =(Protein)Path[0].getObject(); > > > > but that throws an exception, any ideas on how > > really get to this object ? > > > > path[i]=javax.media.j3d.Locale@1fe571f : > > com.sun.j3d.utils.geometry.Cone, > > Protein@109ea96 : > > > javax.media.j3d.Shape3Djavax.media.j3d.TriangleFanArray@83b1b > > > > LocalToVworld Transform: > > 0.0375749076740305, -0.005965948985267853, > > -0.012350453208999744, > > 0.285124270664246 0.0, 0.03601788328904463, > > -0.017398620975559716, > > 0.12078290366391121 0.013715911991643523, > > 0.01634378978561484, > > 0.033834216736250124, 0.6479161499920172 > > 0.0, 0.0, 0.0, 1.0 > > > > > > this is what i really want to process > > > > path[i]=javax.media.j3d.Locale@1fe571f : > > com.sun.j3d.utils.geometry.Cone, > > Protein@109ea96 : > > > javax.media.j3d.Shape3Djavax.media.j3d.TriangleFanArray@83b1b > > > > and get to the protein object. > > > > any Ideas ? > > > > > > thanks, > > > > Isaac > > > > > ======================================================================== > === > > To unsubscribe, send email to > [EMAIL PROTECTED] > > and include in the body > > of the message "signoff JAVA3D-INTEREST". For > > general help, send email to > > [EMAIL PROTECTED] and include in the body of > the > > message "help". > > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up > now. > http://mailplus.yahoo.com > > ======================================================================== > === > To unsubscribe, send email to [EMAIL PROTECTED] > and include in the > body > of the message "signoff JAVA3D-INTEREST". For > general help, send email > to > [EMAIL PROTECTED] and include in the body of the > message "help". __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help". ==========================================================================To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".
