Rick,

I agree, that is the way I've observed it as working.  And I agree it
seems absurd that we should have to make everything pickable.  It would
be a lot more user friendly if anything that we didn't care about was
automaticallly assumed to be "miss" and didn't generate an error.

Our "solution" is to put our pickable objects in one branchgroup and to
put our "decorations" in a different branchgroup.  Then only execute the
pick against the pickable branchgroup.

- John Wright
Starfire Research

Rick Brownrigg wrote:

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".


=========================================================================== 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".

Reply via email to