Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare e utilizzare prototipi: il comando PROTO

Il comando PROTO
Il comando PROTO
Link copiato negli appunti

Come accennato precedentemente, con il comando PROTO si può creare e
successivamente utilizzare un personale prototipo di nodo che può subire delle
modifiche specifiche per ogni singola copia che ne deriva. Anche in questo caso
il procedimento da un punto di vista concettuale è decisamente semplice. In
primo luogo occorre creare il nuovo prototipo indicando la parola chiave PROTO
seguita dal nome da associare al nuovo nodo.

Successivamente si indica la "dichiarazione del prototipo", la quale contiene
i singoli campi e relativi valori che fanno parte del nodo. Questi campi possono
essere field, exposedField, eventIn e eventOut.
Ecco la sintassi corretta :

PROTO nome [
eventIn tipo nome
eventOut tipo nome
exposedField tipo nome valore di default
field tipo nome valore di default
] {

Nel file realizzato come esempio si è deciso di realizzare il prototipo di
una semplice casa che avesse le seguenti caratteristiche: la possibilità di
modificare in ogni copia successiva sia il colore del corpo, sia il colore del
tetto. Quindi:

#VRML V2.0 utf8
# semplice esempio di utilizzo del
comando PROTO
PROTO Casa [
exposedField SFColor colore_casa 1 .66 .25
exposedField SFColor colore_tetto 1 .25 .25
] {

Alla dichiarazione del prototipo, segue la "definizione del prototipo" che
contiene un insieme di nodi che definiscono come sarà il nuovo nodo. All'interno
di questa definizione è necessario trovare un modo di riferirsi ai valori che
andranno letti dalla dichiarazione del prototipo. Questo modo è rappresentato
dalla parola chiave IS.
Per esempio:

[...]
# creazione del corpo principale della Casa
Shape {
appearance Appearance {
material Material { diffuseColor IS colore_casa }
}
geometry Box { size 20 20 20 }
}
[...]

Infine potremmo anche scrivere il codice completo:

Occorre precisare che la visualizzazione di un prototipo all'interno del browser,
non avviene al termine della sua creazione, bensì solo nel momento in cui esso
verrà invocato per la prima volta. Si noti anche che l'invocazione di un prototipo
deve mantenere, come è logico, una ben precisa corerenza con le caratteristiche
del prototipo creato. Infatti, il primo nodo contenuto nella definizione definisce
il tipo del prototipo. Nel nostro caso, il prototipo "Casa" ha come primo nodo
un nodo transform e quindi può essere utilizzato secondo la corretta
sintassi del nodo transform; così come un nodo PROTO che definisce
un nodo di tipo Material, potra' essere impiegato solo all'interno del
nodo Appearance.

Per ulteriori informazioni, relative soprattutto alla possibilita' di innestare
PROTO all'interno di altri PROTO, e all'impiego di EXTERNPROTO, si faccia riferimento
alle specifiche.

Ti consigliamo anche