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

Guida Java 3D - 18: sbloccare le proprietà con le Capabilities

Guida Java 3D, corso di base 

 

Quando si compila un Branch Group (o quando un oggetto è live, vivo, come vedremo a breve) si ha un effetto collaterale non sempre piacevole: i valori delle trasformazioni e di alcuni oggetti dello Scene Graph vengono 'bloccati'.

 

Quando dobbiamo creare, per esempio, un'animazione, modificando i valori di un TransformGroup, dobbiamo 'sbloccare' alcuni campi dello stesso, o meglio: dobbiamo permettere delle operazioni su tali campi, impostare delle capability.

 

 

Le varie componenti di un universo virtuale di Java 3D hanno le relative capability e, se estendono delle classi, ereditano le capability degli 'antenati'.

 

Ad esempio, per permettere l'impostazione dinamica di una trasformazione 3D in un oggetto di tipo TransformGroup, scriveremo:

 

TransformGroup tg1 = new TransformGroup();

tg1.setCapability(Transform.ALLOW TRANSFORM WRITE); .

 

ALLOW TRANSFORM WRITE è, quindi, una costante (un intero, a livello implementativo) della classe Transform.

 

L'istruzione mostrata precedentemente permetterà l'esecuzione dell'istruzione:

 

tg1.setTransform3D(t3d1);

ma non dell'istruzione

tg1.getTransform3D(t3d1);

 

per la quale bisognerà impostare una capability di READ.

 

In generale, se vi è una capability WRITE ve ne sarà una READ, e viceversa.

 

 

Per un elenco completo (lista) dei tutorial e videotutorial su Java, Java 2D, Java 3D e J2ME, clicca qui


 
Libri e eBook sul linguaggio di programmazione Java:
 
 
ebook PDF "Java 3D: guida di base" di Francesco Milanese
 
 
 
 
 

 

Pagina di Francesco Milanese (redbaron85) su Facebook   Pagina di Francesco Milanese (redbaron85) su Google Plus   Profilo di Francesco Milanese (redbaron85) su LinkedIn   Pagina di Francesco Milanese (redbaron85) su Twitter   Canale Youtube di Francesco Milanese (redbaron85ct)

Vai all'inizio della pagina