I have each object(cylinder, cube) in my scene contained in its own
TransformGroup. Each object is initially set apart from each other when the
scene is loaded into the canvas.

Each object can be translated, rotated and i want to detect collision if one
object collides with another. I've written code similar to
TickTockCollision, but as soon as the program starts the objects already
seem to fire collision events even though they aren't in collision and the
firing of collision events never exits.

Whats happening is this some bug????

Heres the code:-

//code that adds collision behavior to each transformgroup
TransformGroup vrmlObjects[ ] = new TransformGroup[noOfObjects];
.
.
.
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
CollisionHandler ch = new CollisionHandler(vrmlObjects[n]);
ch.setSchedulingBounds(bounds);
vrmlObjects[n].addChild(ch);



//the class for collsion detection
public class CollisionHandler extends Behavior {

   private boolean inCollision = false;
   private TransformGroup tg;

   private WakeupOnCollisionEntry wEnter;
   private WakeupOnCollisionExit wExit;

   public CollisionHandler(TransformGroup transGp) {

       tg = transGp;
       inCollision = false;
    }

    public void initialize() {
         wEnter = new WakeupOnCollisionEntry(tg,
WakeupOnCollisionEntry.USE_GEOMETRY);
         wExit = new WakeupOnCollisionExit(tg,
WakeupOnCollisionExit.USE_GEOMETRY);
         wakeupOn(wEnter);
    }


   public void processStimulus(Enumeration criteria) {
      inCollision = !inCollision;

       if (inCollision) {
            wakeupOn(wExit);
            System.out.println("In Collision");
       }
      else {
            wakeupOn(wEnter);
            System.out.println("No Collision");

      }
   }




************************************************
                        Arvi Chahal
                [EMAIL PROTECTED]
************************************************

=====================================================================
To subscribe/unsubscribe, send mail to [EMAIL PROTECTED]
Java 3D Home Page: http://java.sun.com/products/java-media/3D/

Reply via email to