01: /*
02: * $RCSfile: PickSphereTimer.java,v $
03: *
04: * @(#)PickSphereTimer.java 1.5 98/11/05 20:34:51
05: *
06: * Copyright (c) 1996-1998 Sun Microsystems, Inc. All Rights Reserved.
07: *
08: * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
09: * modify and redistribute this software in source and binary code form,
10: * provided that i) this copyright notice and license appear on all copies of
11: * the software; and ii) Licensee does not utilize the software in a manner
12: * which is disparaging to Sun.
13: *
14: * This software is provided "AS IS," without a warranty of any kind. ALL
15: * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
16: * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
17: * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
18: * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
19: * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
20: * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
21: * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
22: * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
23: * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
24: * POSSIBILITY OF SUCH DAMAGES.
25: *
26: * This software is not designed or intended for use in on-line control of
27: * aircraft, air traffic, aircraft navigation or aircraft communications; or in
28: * the design, construction, operation or maintenance of any nuclear
29: * facility. Licensee represents and warrants that it will not use or
30: * redistribute the Software for such purposes.
31: *
32: * $Revision: 1.2 $
33: * $Date: 2005/02/03 23:06:59 $
34: * $State: Exp $
35: */
36: package org.jdesktop.j3d.loaders.vrml97.impl;
37:
38: import javax.media.j3d.*;
39:
40: /** Description of the Class */
41: public class PickSphereTimer extends TransparencyInterpolator {
42: WakeupCondition critter;
43: RGroup handle;
44:
45: /**
46: *Constructor for the PickSphereTimer object
47: *
48: *@param browser Description of the Parameter
49: *@param handle Description of the Parameter
50: *@param ta Description of the Parameter
51: */
52: public PickSphereTimer(Browser browser, RGroup handle,
53: TransparencyAttributes ta) {
54:
55: super (
56: new Alpha(1, Alpha.INCREASING_ENABLE
57: | Alpha.DECREASING_ENABLE, 0, 0, 5000, 0, 0,
58: 500, 0, 0), ta);
59:
60: this .handle = handle;
61: setSchedulingBoundingLeaf(browser.loader.infiniteBoundingLeaf);
62: setMinimumTransparency(.5f);
63: setMaximumTransparency(.9f);
64: }
65:
66: /**
67: * Description of the Method
68: *
69: *@param critters Description of the Parameter
70: */
71: public void processStimulus(java.util.Enumeration critters) {
72: if (getAlpha().finished()) {
73: handle.detach();
74: try {
75: while (true) {
76: handle.removeChild(0);
77: }
78: } catch (ArrayIndexOutOfBoundsException ex) {
79: ;
80: }
81: }
82: super.processStimulus(critters);
83: }
84:
85: }
|