I'm getting the dreaded "javax.media.j3d.CapabilityNotSetException: Shape3D: no capability to allow intersect" exception. I know from experimentation why it is happening.
But I'd like ask a broader question: why should this even happen at all? That is, I'd like to have some objects in the scene pickable, and others not. But should the user, for whatever reason, pick on something that is not enabled for it, the exception occurs, creating an error condition. It seems like the appropriate behavior is nothing should happen -- a pick "miss" in effect.
This can be easily demonstrated using the "PickText3DGeometry.java" example in the standard Java3D demos. Comment out the setCapability(Geometry.ALLOW_INTERSECT) call for one of the Text3D shapes. Run it, and observe that you can still pick the other Text3D shape, as expected, but upon trying to pick on the "disabled" one, the exception occurs, and the picking behavior for both shapes is busted from that point on.
Is this right, or am I missing something here? Is pick an all or nothing affair; i.e., must all shapes be enabled for it?
BTW: I'm not sure that catching the exception will solve anything. In a scene where a pickable object is very close to, or overlaps, something that is not intended to be pickable, the exception is bound to occur, thus short-circuiting the pick testing (?)
I appreciate any insights that might be offered....thanks!
Rick Brownrigg
=========================================================================== 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".