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 83: PickingCallback.

 

PickingCallback è un'interfaccia, utile per notificare il picking di un oggetto ad una classe.

Una classe interessata a sapere quando un oggetto viene selezionato col picking può infatti implementare tale interfaccia, sovrascrivendo il metodo transformChanged(int type, TransformGroup tg), nel quale viene specificata l'azione da eseguire.

 

 

Il Pick Behavior da 'tracciare' deve invece impostare la classe di callback mediante il metodo setupCallback(PickingCallback pc).

 

Le informazioni sul picking verranno quindi inviate alla classe che implementa PickingCallback.

In tale classe sarà possibile definire le azioni da intraprendere.

 

 

Un semplice esempio è quello definito nel file 'EsempioPickingCallback'.

In questo caso abbiamo tre oggetti che effettuano il Picking con il mouse e un oggetto di tipo miaClasseDiPickingCallback.

Tale classe è definita nel file omonimo, che accompagna il file 'EsempioPickingCallback'.

Con il metodo setupCallback impostiamo l'oggetto creato con miaClasseDiPickingCallback come callback dei tre oggetti di picking; dunque, quando effettueremo un picking, tale evento verrà notificato all'oggetto di tipo miaClasseDiPickingCallback.

 

In questo esempio, la classe che fa uso dell'interfaccia di PickingCallback è particolarmente povera: il costruttore è vuoto, mentre il metodo transformChanged stampa a video le informazioni sulle trasformazioni effettuate (il toString del TransformGroup selezionato e il tipo di trasformazione effettuata).

 

Il tipo di trasformazione effettuata viene indicato con costanti intere:

 

  • ROTATE (0);

  • TRANSLATE (1);

  • ZOOM (2);

  • NO_PICK(3); .

 

NO_PICK indica che è stata effettuata una selezione, ma non è stata intrapresa alcuna azione.

 

L'esempio 'Esempio PickingCallback2', che fa uso di 'miaClasse Di PickingCallback2' e di 'mioTransformGroup', mostra un utilizzo più interessante dello strumento di PickingCallback.

In questo esempio, infatti, i Transform Group padri dei cubi visibili nella scena non sono 'semplici' TG ma oggetti 'mioTransformGroup', cioè TG provvisti di una stringa (il loro 'nome').

 

Quando verranno selezionati con il picking, la classe di PickingCallback associata ai Behavior del mouse leggerà i loro nomi e li stamperà a video.

All'estensione (informatica) delle classi di Java3D e su possibili utilizzi del PickingCallback è dedicato il prossimo capitolo.

 

 
Vai all'inizio della pagina