Como configurar recursos de um universo em Java 3D?
Pergunta
Como posso definir os limites em uma instância SimpleUniverse criado com um objeto Canvas3D?
Eu tentei o código abaixo, mas tenho tanto um "Capability não set exceção" se eu tentar definir os limites e uma "exceção Acesso Restrito" se eu tentar definir a capacidade de limites de escrita.
Aqui está o meu código:
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);
Por favor, ajuda!
Solução
Eu percebi isso. Em vez de criar o universo como este:
GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
Canvas3D canvas3d = new Canvas3D(config);
SimpleUniverse universe = new SimpleUniverse(canvas3d);
Eu criada a ViewingPlatform
por si só, então criou o universo com ele:
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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow