>Actually the bounds compute is just bigger and not technically not wrong >as long as it enclose the geometry. > Java3D specification didn't enforce the tightest bounds on the >geometry. So GEOMETRY based picking (instead of BOUND based picking) >should always use in your case. > You are right, technically, but if we can get more accurate bounds, that's very useful. When I first tried to rotate my objects around its center, it always moves outside of the screen. When I do the Fit in View, I also need more accurate center and radius. Anyway, it's not a big deal, I have my own class to do it.
> > >The specifiction did not mention this case clearly. But if you use >PickPoint for Geometry picking in the API it will throw Exception will >the following message >"PickPoint doesn't make sense for geometry-based picking. Java 3D >doesn't have spatial information of the surface. Should use PickBounds >with BoundingSphere and set radius to a epsilon tolerance." > >The utility library should output this. Now, I have a better idea of all the Picking classes, thank you for your valuable information. >It is not uncommon for ray fail to detect interesting with the side of >triangle due to numerical error. setting pickTolerance will not work >since this only affect how the shape is defined in PickTool for picking. >It will not affect the second call when pickshape is explicitly defined. >Use > PickCylinderRay pp = new PickCylinderRay(localPt, new Vector3d(0, 0, 1), >0.1f); > >should work in your case. > >- Kelvin > >--------------------- >Java 3D Team >Sun Microsystems Inc. > PickCylinderRay works, but it may pick more than I need. The PickRay always fails. If I pick (0,1,0), it always get the right part for the 2nd pick call, if I pick (0,-1,0), it fails to pick any one for the 2nd pick call. If I were implementing the PickRay, I think I still need to use something like distance tolerance inside although I may not allow user to specify it. Thank you very much! white =========================================================================== 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".
