Package com.sun.j3d.utils.universe

Examples of com.sun.j3d.utils.universe.MultiTransformGroup


            ViewTransform v = (ViewTransform)transforms[index].newInstance();
            v.universe = universe;
            v.controllers = new BranchGroup();
            v.controllers.setCapability(BranchGroup.ALLOW_DETACH);

            MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

            for (int i = 0; i < mtg.getNumTransforms(); i++) {
                mtg.getTransformGroup(i).setTransform(identity);
            }
            v.setup();
            v.controllers.compile();
            universe.addBranchGraph(v.controllers);
            return v;
View Full Code Here


    public void centerOnHex(Coords c, IHex hex) {
        if ((c == null) || (hex == null)) {
            return;
        }

        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

        mtg.getTransformGroup(0).setTransform(
            new Transform3D(rotfix, new Vector3d(BoardModel.getHexLocation(c, hex.getElevation())), 1.0)
        );
    }
View Full Code Here

        );
    }

    @Override
    void reset() {
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

        TransformGroup rotateTrans = mtg.getTransformGroup(1);
        Transform3D rtrans = new Transform3D();
        rtrans.rotX(-Math.PI/2);
        rotateTrans.setTransform(rtrans);

        TransformGroup tiltTrans = mtg.getTransformGroup(3);
        Transform3D ttrans = new Transform3D();
        ttrans.rotX(Math.PI/3);
        tiltTrans.setTransform(ttrans);

        TransformGroup zoomTrans = mtg.getTransformGroup(4);
        Transform3D ztrans = new Transform3D();
        ztrans.setTranslation(new Vector3d(0.0, 0.0, 20*BoardModel.HEX_DIAMETER));
        zoomTrans.setTransform(ztrans);
    }
View Full Code Here

    /**
     * Create transformation chain and mouse behaviors for a "human player" perspective
     */
    @Override
    protected void setup() {
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();
        View view = universe.getViewer().getView();
        view.setProjectionPolicy(View.PERSPECTIVE_PROJECTION);
        view.setScreenScalePolicy(View.SCALE_SCREEN_SIZE);

        TransformGroup rotateTrans = mtg.getTransformGroup(1);
        Transform3D rtrans = new Transform3D();
        rtrans.rotX(-Math.PI/2);
        rotateTrans.setTransform(rtrans);

        TransformGroup panTrans = mtg.getTransformGroup(2);
        Transform3D ptrans = new Transform3D();
        panTrans.setTransform(ptrans);

        TransformGroup tiltTrans = mtg.getTransformGroup(3);
        Transform3D ttrans = new Transform3D();
        ttrans.rotX(Math.PI/3);
        tiltTrans.setTransform(ttrans);

        TransformGroup zoomTrans = mtg.getTransformGroup(4);
        zoomTrans.setTransform(new Transform3D(new Quat4d(), new Vector3d(0.0, 0.0, 20*BoardModel.HEX_DIAMETER), 1.0));

        Transform3D etrans = new Transform3D();
        etrans.lookAt(new Point3d(0, 0, 0), new Point3d(0, 0, -1), new Vector3d(0, 1, 0));
        etrans.invert();
        mtg.getTransformGroup(5).setTransform(etrans);

        MouseWheelZoom behavior0 = new MouseWheelZoom(zoomTrans);
        behavior0.setFactor(-BoardModel.HEX_DIAMETER/3);
        controllers.addChild(behavior0);
        behavior0.setSchedulingBounds(BoardModel.bounds);
View Full Code Here

        behavior4.setSchedulingBounds(BoardModel.bounds);
    }

    @Override
    void zoom(int steps) {
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();
        TransformGroup zoomTrans = mtg.getTransformGroup(4);

        Transform3D trans = new Transform3D();
        zoomTrans.getTransform(trans);

        Vector3d t = new Vector3d();
View Full Code Here

        zoomTrans.setTransform(trans);
    }

    @Override
    Node makeViewRelative(Node obj, double centerDistance) {
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

        Transform3D rtrans = new Transform3D();
        mtg.getTransformGroup(1).getTransform(rtrans);
        Transform3D ttrans = new Transform3D();
        mtg.getTransformGroup(3).getTransform(ttrans);
        Transform3D ptrans = new Transform3D();
        Transform3D ftrans = new Transform3D();
        ftrans.rotX(Math.PI/2);
        ptrans.setTranslation(new Vector3d(0.0, -centerDistance, 1.0));
View Full Code Here

    public void transformChanged(int type, Transform3D trans) {
        if (type != TRANSLATE) {
            return;
        }

        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();
        Transform3D old = new Transform3D();
        mtg.getTransformGroup(0).getTransform(old);
        Transform3D rot = new Transform3D();
        mtg.getTransformGroup(1).getTransform(rot);
        Vector3d transv = new Vector3d();
        trans.get(transv);
        Point3d transp = new Point3d(transv);
        rot.transform(transp);
        old.transform(transp);
        old.setTranslation(new Vector3d(transp));
        mtg.getTransformGroup(0).setTransform(old);
        mtg.getTransformGroup(2).setTransform(new Transform3D());
    }
View Full Code Here

    public void centerOnHex(Coords c, IHex hex) {
        if ((c == null) || (hex == null)) {
            return;
        }

        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

        mtg.getTransformGroup(0).setTransform(
            new Transform3D(C.nullRot, new Vector3d(BoardModel.getHexLocation(c, hex.getElevation())), 1.0)
        );

        center();
    }
View Full Code Here

        center();
    }

    void center() {
        // TODO: smooth reset
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();

        TransformGroup panTrans = mtg.getTransformGroup(1);
        Transform3D ptrans = new Transform3D();
        ptrans.rotX(Math.PI/2);
        panTrans.setTransform(ptrans);
    }
View Full Code Here

        panTrans.setTransform(ptrans);
    }

    @Override
    void reset() {
        MultiTransformGroup mtg = universe.getViewingPlatform().getMultiTransformGroup();
        View view = universe.getViewer().getView();
        view.setScreenScale(.001);

        TransformGroup rotateTrans = mtg.getTransformGroup(2);
        Transform3D rtrans = new Transform3D();
        rtrans.rotX(-Math.PI/2);
        rotateTrans.setTransform(rtrans);
    }
View Full Code Here

TOP

Related Classes of com.sun.j3d.utils.universe.MultiTransformGroup

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.