¿Cómo configurar ViewingPlatform y actualizar TransformGroup?

Tengo una escena dentro de un TransformGroup que permite que el mouse haga zoom / gire / pan.

Necesito configurar la posición de la cámara lo suficientemente atrás como para poder ver toda la escena, lo que hago con el siguiente código:

    // Position the position from which the user is viewing the scene
    ViewingPlatform viewPlatform = universe.getViewingPlatform();
    TransformGroup viewTransform = viewPlatform.getViewPlatformTransform();
    Transform3D t3d = new Transform3D();
    viewTransform.getTransform(t3d);
    t3d.lookAt(new Point3d(0,0,50), new Point3d(0,0,0), new Vector3d(0,1,0));
    t3d.invert();
    viewTransform.setTransform(t3d);

La ejecución del código anterior funciona porque puedo manipular la escena con el mouse. Sin embargo, si cambio esta línea:

t3d.lookAt(new Point3d(0,0,50), new Point3d(0,0,0), new Vector3d(0,1,0));

con:

// Change value from 50 to 90 to push the camera back further
t3d.lookAt(new Point3d(0,0,90), new Point3d(0,0,0), new Vector3d(0,1,0));

Pierdo la capacidad de manipular la pantalla con el mouse.

¿Cómo puedo mantener la capacidad de transformar con el mouse mientras empujo la cámara hacia atrás para poder ver toda la pantalla?

Muchas gracias de antemano!

Respuesta 1

Considere este código (clase completa, funciona bien, todas las clases en una clase por razones de brevedad). Mis preguntas son después del listado de código: import java.util.LinkedList; import java.util.List; clase ...

Hay muchas formas de convertir una cadena en un objeto entero. Cuál es el más eficiente entre los siguientes: Integer.valueOf () Integer.parseInt () org.apache.commons.beanutils.converters ...

clase Cartón {Cuento = 200; CardBoard go (CardBoard cb) {cb = nulo; volver cb; } public static void main (String [] args) {CardBoard c1 = new CardBoard (); Cartón c2 = ...

En un proyecto Java, hay dos archivos java con método principal. Las rutas absolutas para estos dos archivos java son: C: \ Desktop \ project1 \ src \ com \ pre \ moveposition1.java y C: \ Desktop \ project1 \ src \ com \ ...