01: /*
02: * $RCSfile: FrameCounter.java,v $
03: *
04: * @(#)FrameCounter.java 1.4 98/11/05 20:34:29
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:56 $
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 FrameCounter extends Behavior {
42: Browser br;
43: WakeupCondition critter;
44: int count;
45: String name;
46: RGroup rHandle;
47:
48: /**
49: *Constructor for the FrameCounter object
50: *
51: *@param b Description of the Parameter
52: *@param count Description of the Parameter
53: *@param name Description of the Parameter
54: */
55: public FrameCounter(Browser b, int count, String name) {
56: this .br = b;
57: this .count = count;
58: this .name = name;
59: rHandle = new RGroup();
60: rHandle.addChild(this );
61: }
62:
63: /** Description of the Method */
64: public void initialize() {
65: critter = new WakeupOnElapsedFrames(count);
66:
67: wakeupOn((critter));
68: }
69:
70: /**
71: * Description of the Method
72: *
73: *@param critters Description of the Parameter
74: */
75: public void processStimulus(java.util.Enumeration critters) {
76: while (critters.hasMoreElements()) {
77: if (critters.nextElement() instanceof WakeupOnElapsedFrames) {
78: br.frameCountCallback(this);
79: }
80: }
81: }
82:
83: }
|