Example usage for com.google.gwt.user.client Timer Timer

List of usage examples for com.google.gwt.user.client Timer Timer

Introduction

In this page you can find the example usage for com.google.gwt.user.client Timer Timer.

Prototype

Timer

Source Link

Usage

From source file:com.akjava.gwt.threetest.client.NormalmapDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();//from w w  w. j av  a2s .co m
        timer = null;
    }
    renderer.setClearColorHex(0x333333, 1);

    final Scene scene = THREE.Scene();

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 300, 0);
    final Vector3 target = THREE.Vector3(0, 150, 0);
    scene.add(camera);

    JSONLoader loader = THREE.JSONLoader();

    loader.load("models/animation.js", new LoadHandler() {
        //loader.load("models/men2b_boned_gun.js", new LoadHandler() {

        @Override
        public void loaded(Geometry geometry) {
            log(geometry);

            Shader shader = ShaderUtils.lib("normal");
            Uniforms uniforms = UniformUtils.clone(shader.uniforms());
            uniforms.set("tNormal", ImageUtils.loadTexture("img/normalmap.png"));
            //uniforms.set("tNormal", ImageUtils.loadTexture("img/men2buv_n.png#10"));

            uniforms.set("enableDiffuse", true);
            uniforms.setHex("uDiffuseColor", 0xff0000);
            //uniforms.set("tDiffuse", ImageUtils.loadTexture("img/men2buv.png#1"));
            uniforms.set("tDiffuse", ImageUtils.loadTexture("img/uv.png#2"));
            uniforms.set("uNormalScale", 1);

            Material material = THREE.ShaderMaterial().fragmentShader(shader.fragmentShader())
                    .vertexShader(shader.vertexShader()).uniforms(uniforms).lights(true).morphTargets(false)
                    .build();

            model = new AnimationModel(geometry, material);
            model.getObject3D().getScale().set(15, 15, 15);
            model.getObject3D().getPosition().set(0, -100, 0);
            scene.add(model.getObject3D());

            GWT.log("loaded:");
        }
    });

    final Light light = THREE.DirectionalLight(0xeeeeee, 2);
    light.setPosition(1, 1, 1);
    light.getPosition().normalize();
    //scene.add(light);

    final Light light2 = THREE.DirectionalLight(0xeeeeee, 2);
    light2.setPosition(-1, -1, -1);
    light2.getPosition().normalize();
    scene.add(light2);

    final Light light3 = THREE.PointLight(0xffffff);
    light3.setPosition(0, 0, 600);
    scene.add(light3);
    //scene.add(light2);

    scene.add(THREE.AmbientLight(0xcccccc));

    //   MainWidget.cameraMove.setZ(-20);
    MainWidget.cameraMove.setZ(25);
    //   MainWidget.cameraRotation.setX(-90);
    final int radius = 600;

    last = System.currentTimeMillis();
    Timer timer = new Timer() {
        double theta;

        public void run() {
            try {
                theta += 0.2;

                camera.getPosition().setX(radius * Math.sin(theta * Math.PI / 360));
                camera.getPosition().setZ(radius * Math.cos(theta * Math.PI / 360));
                camera.lookAt(target);

                if (model != null) {
                    //TODO clock
                    long tmp = System.currentTimeMillis();
                    long delta = tmp - last;
                    //animMesh.updateAnimation(delta);
                    //animMesh.update((int) delta);
                    //tmpwork
                    int index = (int) (tmp / 100 % model.getFramelength());
                    model.select(index);
                    last = tmp;
                }

                renderer.render(scene, camera);

                MainWidget.stats.update();
            } catch (Exception e) {
                GWT.log(e.getMessage());
            }
        }
    };

    startTimer(timer);
}

From source file:com.akjava.gwt.threetest.client.ParticleDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();//from   w w w  .  j ava  2 s .  c  o  m
        timer = null;
    }

    renderer.setClearColorHex(0x333333, 1);

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 0);

    final Scene scene = THREE.Scene();

    final Light light = THREE.SpotLight(0xffffff);
    light.setPosition(1000, 2000, 1500);//light.setPosition(5,5, 5);
    scene.add(light);

    //scene.add(THREE.AmbientLight(0x888888));

    final int pcount = 1800;
    final Geometry particles = THREE.Geometry();
    //Material material=THREE.ParticleBasicMaterial().color(0xffffff).size(20).build();
    Material material = THREE.ParticleBasicMaterial().color(0xffffff).size(20)
            .map(ImageUtils.loadTexture("img/particle.png")).blending(THREE.AdditiveBlending).transparent(true)
            .build();
    final Vector3[] velocity = new Vector3[pcount];
    for (int i = 0; i < pcount; i++) {
        int px = (int) (Math.random() * 500 - 250);
        int py = (int) (Math.random() * 500 - 250);
        int pz = (int) (Math.random() * 500 - 250);
        Vertex v = THREE.Vertex(THREE.Vector3(px, py, pz));
        particles.vertices().push(v);

        velocity[i] = THREE.Vector3(0, 0, -Math.random());
    }

    final ParticleSystem particleSystem = THREE.ParticleSystem(particles, material);
    particleSystem.setSortParticles(true);

    final Mesh root = THREE.Mesh(THREE.PlaneGeometry(500, 500),
            THREE.MeshLambertMaterial().color(0x00ee88).build());
    scene.add(root);
    mesh = root;

    mesh.add(particleSystem);

    root.setRotation(Math.toDegrees(45), Math.toDegrees(45), Math.toDegrees(-45));

    MainWidget.cameraRotation.setX(-45);
    MainWidget.cameraRotation.setZ(45);

    //   MainWidget.cameraMove.setZ(-20);
    MainWidget.cameraMove.setZ(1000);
    //   MainWidget.cameraRotation.setX(-90);
    timer = new Timer() {
        public void run() {
            MainWidget.stats.update();
            try {

                particleSystem.getRotation().incrementZ(0.001);

                for (int i = 0; i < pcount; i++) {
                    Vertex v = particles.vertices().get(i);
                    if (v.getPosition().getZ() < -200) {
                        v.getPosition().setZ(200);
                        velocity[i].setZ(0);
                    }

                    velocity[i].incrementZ(-Math.random() * .1);

                    v.getPosition().addSelf(velocity[i]);
                }

                particles.setDirtyVertices(true);//call if you move verticle

                camera.setPosition(MainWidget.cameraMove.getX(), MainWidget.cameraMove.getY(),
                        MainWidget.cameraMove.getZ());
                mesh.setRotation(Math.toRadians(MainWidget.cameraRotation.getX()),
                        Math.toRadians(MainWidget.cameraRotation.getY()),
                        Math.toRadians(MainWidget.cameraRotation.getZ()));

                renderer.render(scene, camera);
            } catch (Exception e) {
                GWT.log(e.getMessage());
            }
        }
    };
    //timer.schedule(2000);
    timer.scheduleRepeating(1000 / 60);
}

From source file:com.akjava.gwt.threetest.client.ParticleDemo2.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();// w  w w.j  a va2s  . c  o m
        timer = null;
    }

    renderer.setClearColorHex(0xcccccc, 1);

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 0);

    final Scene scene = THREE.Scene();

    final Light light = THREE.SpotLight(0xffffff);
    light.setPosition(1000, 2000, 1500);//light.setPosition(5,5, 5);
    scene.add(light);

    final Mesh root = THREE.Mesh(THREE.PlaneGeometry(50, 50),
            THREE.MeshLambertMaterial().color(0x00ee88).build());
    scene.add(root);
    mesh = root;

    Object3D group = THREE.Object3D();

    mesh.add(group);

    final EmitterSystem emitterSystem = new EmitterSystem();
    emitterSystem.setParent(group);
    emitterSystem.setVelocity(THREE.Vector3(0, 200.0 / 120, 0));
    emitterSystem.setVelocityRange(THREE.Vector3(100.0 / 120, 0, 100.0 / 120));

    root.setRotation(Math.toDegrees(45), Math.toDegrees(45), Math.toDegrees(-45));

    //Particle particle=THREE.Particle(THREE.MeshLambertMaterial().color(0x00ee88).build());
    //particle.getScale().set(100, 100, 100);
    //scene.add(particle);

    MainWidget.cameraRotation.setX(0);
    MainWidget.cameraRotation.setZ(0);

    //   MainWidget.cameraMove.setZ(-20);
    MainWidget.cameraMove.setZ(1000);
    //   MainWidget.cameraRotation.setX(-90);
    timer = new Timer() {
        public void run() {
            MainWidget.stats.update();
            try {

                emitterSystem.update();

                camera.setPosition(MainWidget.cameraMove.getX(), MainWidget.cameraMove.getY(),
                        MainWidget.cameraMove.getZ());
                mesh.setRotation(Math.toRadians(MainWidget.cameraRotation.getX()),
                        Math.toRadians(MainWidget.cameraRotation.getY()),
                        Math.toRadians(MainWidget.cameraRotation.getZ()));

                renderer.render(scene, camera);
            } catch (Exception e) {
                GWT.log(e.getMessage());
            }
        }
    };
    timer.scheduleRepeating(1000 / 60);
    //timer.schedule(2000);

}

From source file:com.akjava.gwt.threetest.client.PickDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();/*  w w w .  j av a  2  s  .c o m*/
        timer = null;
    }
    //renderer.setClearColorHex(0xff0000, 0.5);

    final Map<Integer, Mesh> meshs = new HashMap<Integer, Mesh>();

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 50);

    final Scene scene = THREE.Scene();

    final Material material = THREE.MeshLambertMaterial(0xff00ff, false);

    final Mesh mesh = THREE.Mesh(THREE.CylinderGeometry(5, 5, 5, 6), material);
    scene.add(mesh);

    final Mesh mesh2 = THREE.Mesh(THREE.CylinderGeometry(5, 5, 5, 15),
            THREE.MeshLambertMaterial(0x00ff00, false));
    mesh2.setPosition(0, 10, 0);
    scene.add(mesh2);

    final Mesh mesh3 = THREE.Mesh(THREE.CylinderGeometry(5, 1, 5, 15),
            THREE.MeshLambertMaterial(0x0000ff, false));
    mesh3.setPosition(0, -10, 0);
    scene.add(mesh3);

    final Mesh mesh4 = THREE.Mesh(THREE.CylinderGeometry(5, 4.5, 5, 5),
            THREE.MeshLambertMaterial(0xffff00, false));
    mesh4.setPosition(-10, 0, 0);
    scene.add(mesh4);

    final Light light = THREE.PointLight(0xffffff);
    light.setPosition(10, 0, 10);
    scene.add(light);

    //scene.add(THREE.AmbientLight(0x330000));

    meshs.put(mesh.getId(), mesh);
    meshs.put(mesh2.getId(), mesh2);
    meshs.put(mesh3.getId(), mesh3);
    meshs.put(mesh4.getId(), mesh4);

    timer = new Timer() {
        public void run() {
            mesh.getRotation().incrementX(0.02);
            mesh.getRotation().incrementY(0.02);
            //mesh.setMaterials(material);
            //material.setColor(THREE.Color((int) (Math.random()*0xffffff)));
            //mesh.setMaterials(THREE.MeshLambertMaterial().color((int) (Math.random()*0xffffff)).build());
            renderer.render(scene, camera);

        }
    };
    timer.scheduleRepeating(1000 / 60);

    final Projector projector = THREE.Projector();
    panel.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            //GWT.log(event.getX()+"x"+event.getY()+" - "+width+"x"+height);
            JsArray<Intersect> intersects = projector.pickIntersects(event.getX(), event.getY(), width, height,
                    camera, scene);
            if (intersects.length() > 0) {
                //GWT.log(""+intersects.length());
            }
            for (int i = 0; i < intersects.length(); i++) {
                Intersect sect = intersects.get(i);
                //GWT.log(""+sect.getObject().getId()+" = "+sect.getObject().getName());

                final Mesh target = meshs.get(sect.getObject().getId());
                final int old = target.getMaterials().get(0).getColor().getHex();
                target.getMaterials().get(0).getColor().setHex(0xeeeeee);
                Timer timer = new Timer() {

                    @Override
                    public void run() {
                        target.getMaterials().get(0).getColor().setHex(old);
                    }

                };
                timer.schedule(1000);

            }
        }
    });
}

From source file:com.akjava.gwt.threetest.client.PlainDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();//from  w  w w .  ja  v  a 2s.  c o m
        timer = null;
    }

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 20);

    final Scene scene = THREE.Scene();

    MeshBasicMaterialBuilder basicMaterial = MeshBasicMaterialBuilder.create().wireFrame(false).color(0x00ffff)
            .opacity(0.5).reflectivity(true).transparent(true);

    final Mesh mesh = THREE.Mesh(THREE.PlaneGeometry(5, 5), basicMaterial.build());
    scene.add(mesh);

    final Mesh mesh2 = THREE.Mesh(THREE.PlaneGeometry(5, 5), basicMaterial.color(0xff0000).build());
    mesh2.setPosition(2, 2, 2);
    scene.add(mesh2);

    final Light light = THREE.PointLight(0xffffff);
    light.setPosition(10, 0, 10);
    scene.add(light);

    timer = new Timer() {
        public void run() {
            mesh.getRotation().incrementX(0.02);
            mesh.getRotation().incrementY(0.02);
            renderer.render(scene, camera);

        }
    };
    timer.scheduleRepeating(1000 / 60);
}

From source file:com.akjava.gwt.threetest.client.QuotaViewDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();//from   ww  w.j  a va2  s.c  om
        timer = null;
    }
    //renderer.setClearColorHex(0x333333, 1);
    renderer.setShadowMapEnabled(true);

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 0);

    final Scene scene = THREE.Scene();

    final Light light = THREE.SpotLight(0xffffff);
    light.setPosition(100, 200, 150);//light.setPosition(5,5, 5);
    light.setCastShadow(true);
    scene.add(light);

    scene.add(THREE.AmbientLight(0x888888));

    final Mesh root = THREE.Mesh(THREE.PlaneGeometry(8, 8),
            THREE.MeshBasicMaterial().color(0xff0000).wireFrame().build());
    scene.add(root);
    mesh = root;

    for (int x = 0; x < 4; x++) {
        for (int y = 0; y < 4; y++) {
            Mesh plain = THREE.Mesh(THREE.PlaneGeometry(4, 4),
                    THREE.MeshBasicMaterial().color(0x00ff00).build());
            root.add(plain);
            plain.setPosition(-2 + x * 4, -2 + y * 4, 0);
            plain.setReceiveShadow(true);

            Mesh box = THREE.Mesh(THREE.CubeGeometry(2, 2, 4),
                    THREE.MeshLambertMaterial().color(0x0000ff).build());
            box.setCastShadow(true);
            plain.add(box);
            box.setPosition(1, 1, 2);
        }
    }

    JSONLoader loader = THREE.JSONLoader();

    loader.load("models/two5.js", new LoadHandler() {

        @Override
        public void loaded(Geometry geometry) {
            Mesh obj = THREE.Mesh(geometry, THREE.MeshFaceMaterial());
            obj.setPosition(-3, -3, 0);
            root.add(obj);
            obj.setRotation(Math.toRadians(90), Math.toRadians(180 - 45), 0);

        }
    });

    root.setRotation(Math.toDegrees(45), Math.toDegrees(45), Math.toDegrees(-45));

    MainWidget.cameraRotation.setX(-45);
    MainWidget.cameraRotation.setZ(45);

    //   MainWidget.cameraMove.setZ(-20);
    MainWidget.cameraMove.setZ(25);
    //   MainWidget.cameraRotation.setX(-90);
    timer = new Timer() {
        public void run() {
            try {
                camera.setPosition(MainWidget.cameraMove.getX(), MainWidget.cameraMove.getY(),
                        MainWidget.cameraMove.getZ());

                mesh.setRotation(Math.toRadians(MainWidget.cameraRotation.getX()),
                        Math.toRadians(MainWidget.cameraRotation.getY()),
                        Math.toRadians(MainWidget.cameraRotation.getZ()));

                //cancel();
                if (mesh != null) {
                    //mesh.getRotation().incrementZ(0.02);
                    //mesh.getRotation().incrementZ(0.02);
                }
                renderer.render(scene, camera);
            } catch (Exception e) {
                GWT.log(e.getMessage());
            }
        }
    };
    //timer.schedule(2000);
    timer.scheduleRepeating(1000 / 60);
}

From source file:com.akjava.gwt.threetest.client.ShadowDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();/*ww  w . j  a  v  a 2  s  .c o  m*/
        timer = null;
    }
    this.renderer = renderer;
    renderer.setShadowMapEnabled(true);

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 100);
    camera.setRotation(Math.toRadians(10), 0, 0);

    final Scene scene = THREE.Scene();

    final Mesh mesh = THREE.Mesh(THREE.CubeGeometry(40, 5, 40), THREE.MeshLambertMaterial(0xeeeeee, false));
    mesh.setRotation(0, -Math.PI / 2, 0);
    mesh.setPosition(0, -10, 0);
    scene.add(mesh);
    mesh.setCastShadow(true);
    mesh.setReceiveShadow(true);

    final Mesh mesh2 = THREE.Mesh(THREE.CubeGeometry(6, 6, 6), THREE.MeshLambertMaterial(0xeff0000, false));
    scene.add(mesh2);
    mesh2.setPosition(0, 0, 0);
    mesh2.setReceiveShadow(true);
    mesh2.setCastShadow(true);

    final Mesh mesh3 = THREE.Mesh(THREE.CubeGeometry(3, 3, 10), THREE.MeshLambertMaterial(0xe00ff00, false));
    scene.add(mesh3);
    mesh3.setPosition(5, 20, 15);
    //mesh2.setReceiveShadow(true);
    mesh3.setCastShadow(true);

    final Light light = THREE.SpotLight(0xffffff);
    light.setPosition(100, 200, 150);
    scene.add(light);
    light.setCastShadow(true);

    timer = new Timer() {
        public void run() {
            mesh2.getRotation().incrementX(0.02);
            mesh2.getRotation().incrementY(0.02);
            mesh3.getRotation().incrementX(0.02);
            mesh3.getRotation().incrementZ(0.02);
            renderer.render(scene, camera);

        }
    };
    timer.scheduleRepeating(1000 / 60);
}

From source file:com.akjava.gwt.threetest.client.SimpleAnimation.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();//from ww w  .j  a v  a 2s.co  m
        timer = null;
    }
    renderer.setClearColorHex(0x333333, 1);

    final Scene scene = THREE.Scene();

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 300, 0);
    final Vector3 target = THREE.Vector3(0, 150, 0);
    scene.add(camera);

    JSONLoader loader = THREE.JSONLoader();

    loader.load("models/animation.js", new LoadHandler() {

        @Override
        public void loaded(Geometry geometry) {
            Material material = THREE.MeshLambertMaterial().color(0xffffff).morphTargets(true)
                    .map(ImageUtils.loadTexture("img/uv.png")).build();
            animMesh = THREE.MorphAnimMesh(geometry, material);

            animMesh.setDuration(1000 * 5); //5sec
            animMesh.setMirrordLoop(true);//animation move forward and back

            animMesh.getScale().set(10, 10, 10);
            scene.add(animMesh);
            GWT.log("loaded:");
        }
    });

    final Light light = THREE.DirectionalLight(0xeeeeee, 2);
    light.setPosition(1, 1, 1);
    scene.add(light);

    scene.add(THREE.AmbientLight(0xcccccc));

    final int radius = 600;

    last = System.currentTimeMillis();
    Timer timer = new Timer() {
        double theta;

        public void run() {
            try {
                theta += 0.2;

                camera.getPosition().setX(radius * Math.sin(theta * Math.PI / 360));
                camera.getPosition().setZ(radius * Math.cos(theta * Math.PI / 360));
                camera.lookAt(target);

                if (animMesh != null) {
                    //TODO clock
                    long tmp = System.currentTimeMillis();
                    long delta = tmp - last;
                    animMesh.updateAnimation(delta);

                    last = tmp;
                }

                renderer.render(scene, camera);
                MainWidget.stats.update();
            } catch (Exception e) {
                GWT.log(e.getMessage());
            }
        }
    };

    startTimer(timer);
}

From source file:com.akjava.gwt.threetest.client.SimpleDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();/*from  w w  w. java 2s.  c om*/
        timer = null;
    }
    //renderer.setClearColorHex(0xff0000, 0.5);

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 20);

    final Scene scene = THREE.Scene();

    final Mesh mesh = THREE.Mesh(THREE.CubeGeometry(5, 5, 5), THREE.MeshLambertMaterial(0xff0000, false));
    scene.add(mesh);

    final Light light = THREE.PointLight(0xffffff);
    light.setPosition(10, 0, 10);
    scene.add(light);

    timer = new Timer() {
        public void run() {
            mesh.getRotation().incrementX(0.02);
            mesh.getRotation().incrementY(0.02);
            renderer.render(scene, camera);

        }
    };
    timer.scheduleRepeating(1000 / 60);
}

From source file:com.akjava.gwt.threetest.client.SphereDemo.java

License:Apache License

@Override
public void start(final WebGLRenderer renderer, final int width, final int height, FocusPanel panel) {
    if (timer != null) {
        timer.cancel();/*from  w  ww.  j a  va2  s .  co m*/
        timer = null;
    }

    final Camera camera = THREE.PerspectiveCamera(35, (double) width / height, .1, 10000);
    camera.getPosition().set(0, 0, 20);

    final Scene scene = THREE.Scene();

    final Mesh mesh = THREE.Mesh(THREE.SphereGeometry(5, 16, 16), THREE.MeshLambertMaterial(0xff0000, true));
    scene.add(mesh);

    final Light light = THREE.PointLight(0xffffff);
    light.setPosition(10, 0, 10);
    scene.add(light);

    timer = new Timer() {
        public void run() {
            mesh.getRotation().incrementX(0.02);
            mesh.getRotation().incrementY(0.02);
            renderer.render(scene, camera);

        }
    };
    timer.scheduleRepeating(1000 / 60);
}