7.3.3        Identificatori di Trasformazione



A volte è utile combinare insieme molte trasformazioni ed applicarle in diverse circostanze. Un identificatore di trasformazione può essere usato a tale scopo. Gli identificatori di trasformazione sono dichiarati nel modo seguente:

#declare IDENTIFICATORE = transform { TRASFORMAZIONE... }

Dove IDENTIFICATORE è l'identificatore dichiarato e TRASFORMAZIONE è la combinazione di una o più traslazioni, rotazioni, ridimensionamenti, specificazioni matrix, o anche un identificatore di trasformazione dichiarato precedentemente. Un identificatore di trasformazione è richiamato dalla parola chiave transform senza alcuna parentesi come mostrato di seguito:

object {
MioOggetto // Produci una copia di MioOggetto
transform MiaTrasformazione // Applica la trasformazione
translate -x*5 // Poi muovi di 5 unità a sinistra
}
object {
MioOggetto // Produci un'altra copia di MioOggetto
transform MiaTrasformazione // Applica la stessa trasformazione
translate x*5 // Poi muovi di 5 unità a destra
}

Su oggetti CSG ( di Geometria Solida Costruttiva) estremamente complessi, se applichi trasformazioni dichiarate invece di singole trasformazioni, rotazioni, ridimensionamenti o istruzioni matriciali puoi accelerare l'elaborazione del file della scena. La trasformazione è applicata una volta a ciascun componente. In generale applicare ogni singola traslazione, rotazione, cambio di dimensione o istruzioni matriciali, prende molto tempo. Questa procedura accorcia i tempi di elaborazione e di rendering in entrambe le situazioni.