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