Mojtaba wrote: > Hello, > I was wondering if anyone has had experience implementing VRML's > VisibilitySensor node in Java3D. Basically, how can I get Java3D to tell > me if an object is in view or not? Does one of the wakeupon criteria > help in this way?
Yes :) It's difficult because visibility sensors fall into the same problem that implementing ProximitySensor falls into - The J3D model of activation is completely different to VRML's. IN the following, you can swap view & proximity sensor. But this is our problem : Basically, when the view starts up, the j3d behaivour will trigger for *any* viewplatform that is in the activation radius, not just the one that is currently being used. That is, if your first bound viewpoint in the file is at 0, 0, -100 and the prox sensor is located at the origin with a activation radius of 10, and you have a second, non-bound (ie no view attached to it), viewpoint, at 0,0,-10, the behaviour will be activated. I really don't know why Java3D is implemented like this, because it seems pretty useless to me. So, for now, the Xj3D implementation is really dodgy. For the next milestone release, we're going to have to write our own behaviour system for this outside of Java3D. It's going to be really annoying to do it, but we have no other choice. :( -- Justin Couch http://www.vlc.com.au/~justin/ Java Architect & Bit Twiddler http://www.yumetech.com/ Author, Java 3D FAQ Maintainer http://www.j3d.org/ ------------------------------------------------------------------- "Humanism is dead. Animals think, feel; so do machines now. Neither man nor woman is the measure of all things. Every organism processes data according to its domain, its environment; you, with all your brains, would be useless in a mouse's universe..." - Greg Bear, Slant ------------------------------------------------------------------- =========================================================================== 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".
