picking problems

Isn’t PickRay everything you need? If not, what do you need further?

Yeah, maybe you can use one of the pick methods taking a group to pick solely in it. Please keep in mind, that the Canvas3D.pick*() methods don’t need to be synchoronized anymore (and shouldn’t be). They are synchronized internally. the current VirtualUniverse instance is used as the mutex by the render thread, which is used by the pick methods, too. So double synchronization could become very slow or cause a deadlock.

This view.pick method was exactly, what canvas.pick methods are now (GL_SELECT picking).

Do you consider your picking algorithm to be worth being put into the xith toolkit?

Marvin

[quote]Isn’t PickRay everything you need? If not, what do you need further?
[/quote]
It should be, I am gonna do some tests to see how it compares with our old system…

[quote]Do you consider your picking algorithm to be worth being put into the xith toolkit?
[/quote]
We tried building this using Xith volumes initialy but we could not figure out how Xith’s bounds work, so we built our own system of groups/bounds and TransformGroups. I guess our picking system is way to coupled with our core data structure at this point, moving it back to Xith would require the bounding volumes / space partitioning to work properly and update dinamically.

Cheers

Hi again,

I tested the PickingLibrary, works fine so far. Than I used to create an example for picking under J3D, just to compare it with xith…
and now I’ve got a question: why is it necessary to set the transformgroup and the element (e.g a cube) pickable = true ?? OK I know, setting it to fals means the cube is not pickable… but what is the reason for that? In J3D it seems that everything is pickable at the beginnig. Something about performance?
I don’t want to criticize someone… I just want to know 8)

All right, doc. Less nodes to test, thus the algorithm runs faster.

You’re welcome.

You can modify the default xith Xith3DDefaults class. And when you use Xith3DEnvironment, the default is true.

Marvin