#VRML V2.0 utf8
# semplice esempio di utilizzo del comando PROTO: piazza
PROTO Casa [
exposedField SFColor colore_casa 1 .66 .25
exposedField SFColor colore_tetto 1 .25 .25
] {
# posizionamento della casa
Transform {
children [
# creazione del corpo principale della Casa
Shape {
appearance Appearance {
material Material { diffuseColor IS colore_casa }
}
geometry Box { size 20 20 20 }
}
Transform {
translation 0 10 0
children [
# creazione del tetto della Casa
Shape {
appearance Appearance {
material Material { diffuseColor IS colore_tetto }
}
geometry IndexedFaceSet {
coord Coordinate {
point [
-10 0 10, 10 0 10, 10 0 -10, -10 0 -10, 0 10 0
]
}
coordIndex [
0, 3, 2, 1, -1
0, 1, 4, -1
1, 2, 4, -1
2, 3, 4, -1
3, 0, 4, -1
]
}
}
]
}
]
}
} # Fine del comando PROTO
Viewpoint{
position 130 50 150
orientation -.25 1 0 .66
description "Vista principale"
}
# semplice invocazione della prima casa
Casa {}
# invocazione della seconda casa e modifica della posizione
# e del colore del corpo
Transform {
translation 0 0 30
children [
Casa { colore_casa 1 .85 .33 }
]
}
# invocazione della terza casa e modifiche di posizione e dimensione y
Transform {
translation 0 5 60
scale 1 2 1
children [
Casa {}
]
}
# invocazione della quarta casa e modifiche di posizione, dimensione x
# e del colore del corpo
Transform {
translation 40 0 0
scale 2 1 1
children [
Casa { colore_casa 1 .9 .75 }
]
}
# invocazione della quinta casa e modifiche della posizione
# e dei colori del corpo e del tetto
Transform {
translation 80 0 0
children [
Casa { colore_casa .75 .9 .75
colore_tetto 1 .5 .25
}
]
}
# invocazione della sesta casa e modifiche di posizione, dimensioni z e y e colore del corpo
Transform {
translation 80 -5 30
scale 1 .66 1.5
children [
Casa {}
]
} |