Hi Guillermo,
 
Thanks for the reply.
 
No, all the capabilites are set.
 
When I say "fails to work" I mean that after the reparenting of the branch group the PickObject.pickClosest(x, y) fails to return anything but null when an attempt is made to pick the object (whereas in its prior position the picking worked fine).
 
However, I have now discovered that the picking will eventually start to work again:
 
1.  If the branch group and its sub-graph are 'glued' (added) to another branch group already containing its own subgraph, then only after the new 'parent' has been translated (etc) will the picking start to find the new child as normal.
 
2.  If the branch group and its sub-graph are 'glued' (added) to a transform group containing its own subgraph, then the new 'child' can only be picked if it is possible to line the two Shape3Ds, from the respective sub-graphs, up with the view point.  If the successfully picked child is now translated (etc) it can be picked as normal, without any special alignment in the future.
 
So it seems that there is some kind of 'registration' problem with the newly reparented branch group, even though it is definitely attached to the scene graph and detected by the renderer - it is visible on screen, and can be transformed with its new parent.
 
I'm continuing to search my own code for errors...
 
Have you or anyone else experienced this before?
 
Cheers,   Tim
 
 
----- Original Message -----
Sent: 21 September 1999 15:36
Subject: Re: [JAVA3D] Picking (for a change!)

Tim,
What do you mean by "fails to work"?  Do you get an exception or simply nothing?  It may be a capability problem.  Do you have setPickable(true) on ALL the pertinent nodes (ie. object and it's "owner"?).  Remember that a getPickable value of false indicates that this Node and ALL its children are unpickable.  Not to be confused with ENABLE_PICK_REPORTING.  Hope this helps somewhat.

-guillermo
[EMAIL PROTECTED]
 

Tim Uren wrote:

Hi all, I wonder if any kind soul can help? I am in the latter stages of developing a simple modelling program and am trying to 'glue' objects togetherto form more complex models.  So far during the development each new primitive has been added to the same branch group for simplicity, and picking has worked fine returning Shape3Ds, Groups etc. However, during the glueing procedure I am reparenting the selected object's branch group: detaching it from its current location and then adding it to another object's branch group or transform group. Picking the newly 'glued' object then fails to work, unless it and its 'owner' object are roughly in line with the view.  Why is this, and what can I do to solve the problem? Thanks in advance, Tim

Reply via email to