import javax.media.j3d.*;
import javax.vecmath.*;

public class Trace extends Behavior {
    private WakeupOnElapsedTime wakeup_ = new WakeupOnElapsedTime(4000);
    private CollisionApp app_           = null;
    private int testNo_                 = 0;

    public Trace(CollisionApp app) {
        app_ = app;
        setSchedulingBounds(new BoundingSphere(new Point3d(0,0,0),3000));
        setEnable(true);
    }

    public void initialize() {
        wakeupOn(wakeup_);
    }

    public void processStimulus(java.util.Enumeration critera) {
        System.out.println("\nTest #" + testNo_);
        if (testNo_ == 0 ) {
            app_.confirmPickTest(new Point3d(0, 1, 0.5d), new Point3d(0, -1, -0.5d));
            testNo_++;
        } else if (testNo_ == 1) {
            app_.confirmPickTest(new Point3d(0.5d, 1, 0), new Point3d(-0.5d, -1, 0));
            testNo_++;
        } else if (testNo_ == 2) {
            app_.confirmPickTest(new Point3d(0, 2, 0), new Point3d(-0, -2, 0));
            testNo_++;
        } else if (testNo_ == 3) {
            app_.confirmPickTest(new Point3d(0, 2, 0), new Point3d(-0, -2, 0));
            testNo_++;
        } else if (testNo_ == 4) {
            app_.confirmPickTest(new Point3d(0, 1, 0.5d), new Point3d(0, -1, 0.0001d));
            testNo_ = 0;
        }
        wakeupOn(wakeup_);
    }
    
} // CLASS