annotate examples/java3d/FPS.java @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents 5df24c91468d
children
rev   line source
samer@1 1 import javax.media.j3d.*;
samer@1 2 import javax.vecmath.*;
samer@1 3 import java.util.Enumeration;
samer@1 4
samer@1 5 final class FPS extends Behavior {
samer@1 6
samer@1 7 protected int nFrames;
samer@1 8 protected long startTime;
samer@1 9 protected final WakeupCondition w;
samer@1 10
samer@1 11 public FPS(int nFrames){
samer@1 12 this.nFrames=nFrames;
samer@1 13 w=new WakeupOnElapsedFrames(nFrames);
samer@1 14 }
samer@1 15
samer@1 16 public FPS(){
samer@1 17 this(100);
samer@1 18 }
samer@1 19
samer@1 20 public void initialize(){
samer@1 21 setSchedulingBounds(new BoundingSphere(new Point3d(),1000));
samer@1 22 startTime=System.currentTimeMillis();
samer@1 23 wakeupOn(w);
samer@1 24 }
samer@1 25
samer@1 26 public void processStimulus(Enumeration criteria){
samer@1 27 long time=System.currentTimeMillis();
samer@1 28 System.err.println("fps: "+ 1000 * (double) nFrames / (double) (time-startTime));
samer@1 29 startTime=time;
samer@1 30 wakeupOn(w);
samer@1 31 }
samer@1 32 }