#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 {} ] } |