NOTA! Questo sito utilizza i cookie e tecnologie simili.

Se non si modificano le impostazioni del browser, l'utente accetta. Per saperne di piu'

Approvo

Capitolo 26: Elementi del View Branch Graph. Operazioni.

 

Vedremo ora come accedere agli elementi del View Branch Graph, implementati automaticamente dal Simple Universe.

 

 

Java 3D Elementi del View Branch Graph

 

 

 

A parte i metodi necessari per recuperare la Canvas3D (o le Canvas3D) ed il Locale, SimpleUniverse mette infatti a disposizione tre metodi che hanno a che fare con il View Branch Graph:

  • getPreferredConfiguration() : static java.awt.GraphicsConfiguration

  • getViewer() : Viewer

  • getViewingPlatform() : ViewingPlatform

 

 

Il metodo getPreferredConfiguration() è stato analizzato nella sezione precedente: restituisce le impostazioni grafiche del sistema in uso.

Conoscere le impostazioni grafiche del sistema serve a Java 3D al momento di visualizzare la Canvas3D sul dispositivo.

 

Il metodo getViewer() restituisce l'oggetto Viewer (è uno solo) associato allo Scene Graph.

Tale oggetto contiene le informazioni circa gli aspetti 'fisici' (la visualizzazione della Canvas3D, l'hardware utilizzato) e 'virtuali' (ad esempio, tutte le informazioni e le policy necessarie per effettuare il rendering della scena 3D a partire da un punto di vista situato all'interno della stessa) dell'osservatore nell'universo 3D.

 

Il metodo getViewingPlatform() di SimpleUniverse restituisce l'oggetto ViewingPlatform, che si occupa della visualizzazione della scena virtuale sulla Canvas3D e tramite il quale è possibile accedere al Transform Group del View Branch Graph.

Tra i metodi più interessanti messi a disposizione da questo oggetto abbiamo:

 

  • getViewPlatformBehavior() : ViewPlatformBehavior

  • getViewPlatformTransform() : TransformGroup (il Transform Group 'più vicino' al nodo ViewPlatform)

  • setViewPlatformBehavior(ViewPlatformBehavior behavior) : void

  • setNominalViewingTransform() : void

 

 

 

L'ultimo metodo, setNominalViewingPlatform(), sposta leggermente indietro il sistema di riferimento.

Può essere d'aiuto nella visualizzazione di (piccoli) oggetti, se non si vuole applicare un 'pesante' Transform Group di traslazione agli stessi per allontanarli dall'osservatore.

 

Nel file d'esempio 'NominalViewingPlatform.java' si ha il cubo colorato visto in 'SecondoEsempio', nella sezione precedente, con la differenza che, in questo caso, non c'è un Transform Group di traslazione applicato al cubo, mentre è presente il comando:

 

  • sU.getViewingPlatform().setNominalViewingPlatform();

 

che sposta leggermente indietro l'osservatore; l'oggetto è piccolo e l'entità dello spostamento è sufficiente a permetterci di guardarlo da fuori.

 

 
Vai all'inizio della pagina