Как настроить возможности вселенной в Java 3d? - PullRequest
2 голосов
/ 19 августа 2009

Как установить границы для экземпляра SimpleUniverse, созданного с помощью объекта canvas3d?

Я попробовал приведенный ниже код, но я получаю либо «Возможности не установлены исключения», если я пытаюсь установить границы, и «Исключение ограниченного доступа», если я пытаюсь установить возможность записи границ.

Вот мой код:

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);
SimpleUniverse universe = new SimpleUniverse(canvas3d);
ViewingPlatform viewPlatform = universe.getViewingPlatform();

// Below line throws RestricedAccessException
viewPlatform.setCapability(ViewingPlatform.ALLOW_BOUNDS_WRITE); 
// I want to set the bounds, thus the need for the capability above
viewPlatform.setBounds(bounds);

Пожалуйста, помогите!

1 Ответ

3 голосов
/ 19 августа 2009

Я понял это. Вместо того, чтобы настраивать вселенную так:

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);

SimpleUniverse universe = new SimpleUniverse(canvas3d);

Я сам создал ViewingPlatform, а затем создал с ним вселенную:

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);

ViewingPlatform viewingPlatform = new ViewingPlatform();
viewingPlatform.setCapability(ViewingPlatform.ALLOW_BOUNDS_WRITE);
viewingPlatform.setBounds(bounds);
Viewer viewer = new Viewer(canvas3d);    

SimpleUniverse universe = new SimpleUniverse(viewingPlatform, viewer);
...