#VRML V2.0 utf8 #-------------------------------------------- #-------------------------------------------- # DEFINITION DU DOSSIER DE SIEGE #-------------------------------------------- #-------------------------------------------- PROTO Siege [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Transform { translation 0 0.25 0 rotation 0 0 1 1.5707 children [ Shape { appearance Appearance { material Material { diffuseColor 1 0.24 0.2 shininess 0 } } geometry Cylinder { height 1.5 radius 0.25 top TRUE bottom TRUE } } ] } Shape { appearance Appearance { material Material { diffuseColor 1 0.14 0.2 shininess 0 } } geometry Box { size 1.5 0.5 0.5 } } ] } } #-------------------------------------------- #-------------------------------------------- # DEFINITION DU SPOT #-------------------------------------------- #-------------------------------------------- PROTO Spot [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ SpotLight { location 0 7 -0.4 direction 0 3 -2.5 cutOffAngle 1.785398 beamWidth 1.6 ambientIntensity 1 intensity 1 attenuation 1 0 0 color 1 0.98 0.9 radius 4 on TRUE } Transform { translation 0 0 -1.99 children [ Shape { appearance Appearance { material Material { diffuseColor 0.88 0.28 0.14 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ -1 0 0, -1 -2.5 0, -1 -1 1, -1 0 1 ] } coordIndex [0, 1, 2, 3, 0, -1] } } Shape { appearance Appearance { material Material { diffuseColor 0.88 0.28 0.14 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ 1 0 0, 1 -2.5 0, 1 -1 1, 1 0 1 ] } coordIndex [0, 3, 2, 1, 0, -1] } } Shape { appearance Appearance { material Material { diffuseColor 0.88 0.28 0.14 shininess 1 } } geometry IndexedFaceSet { coord Coordinate { point [ 1 0 1, -1 0 1, -1 -1 1, 1 -1 1 ] } coordIndex [0, 1, 2, 3, 0, -1] } } Shape { appearance Appearance { material Material { diffuseColor 0.6 0 0 shininess 1 } } geometry IndexedFaceSet { coord Coordinate { point [ 1 -1 1, -1 -1 1, -1 -2.5 0, 1 -2.5 0 ] } coordIndex [0, 1, 2, 3, 0, -1] } } ] } ] } } #-------------------------------------------- #-------------------------------------------- # DEFINITION DU RIDEAU DE GAUCHE #-------------------------------------------- #-------------------------------------------- PROTO RideauLeft [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Shape { appearance Appearance { material Material { diffuseColor 0.76 0 0 shininess 1 } } geometry Extrusion { beginCap TRUE ccw TRUE convex TRUE creaseAngle 6.28 # [0,) crossSection [ -3 1.7, -2 2.2, -1.5 1.5, 0 2, 1 1.5, 2 2.2, 2.5 1, 3 2.5, 3.5 1.5, 5 2, 6 1, 7 2, 7 0, -3 0, -3 1.7 ] # (-,) endCap TRUE orientation 0 0 1 0 # [-1,1],(-,) scale [0.5 1.2, 0.15 0.2, 0.9 1.5, 1 1.5 ] # (0,) solid TRUE spine [ 2 0 0, 1 5 -0.5 , 4 24 0, 4 28 0 ] # (-,) } } ] } } #-------------------------------------------- #-------------------------------------------- # DEFINITION DU RIDEAU DE DROITE #-------------------------------------------- #-------------------------------------------- PROTO RideauRight [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Shape { appearance Appearance { material Material { diffuseColor 0.76 0 0 shininess 1 } } geometry Extrusion { beginCap TRUE ccw TRUE convex TRUE creaseAngle 6.28 # [0,) crossSection [ -3 1.7, -2 2.2, -1.5 1.5, 0 2, 1 1.5, 2 2.2, 2.5 1, 3 2.5, 3.5 1.5, 5 2, 6 1, 7 2, 7 0, -3 0, -3 1.7 ] # (-,) endCap TRUE orientation 0 0 1 0 # [-1,1],(-,) scale [0.5 1.2, 0.15 0.2, 0.8 1.5, 1 1.5 ] # (0,) solid TRUE spine [ 1 0 0, 2.5 5 -0.5 , -3 24 0, -3 28 0 ] # (-,) } } ] } } #-------------------------------------------- #-------------------------------------------- # DEFINITION DU PROJECTEUR #-------------------------------------------- #-------------------------------------------- PROTO Projecteur [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Transform { translation 0 -0.7 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 3 4.4 10 } } ] } Transform { translation 0 -0.7 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.5 0.5 0.5 shininess 1 } } geometry Box { size 4 3.5 8 } } ] } Transform { translation 0 0 -5 rotation 1 0 0 1.5707 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Cone { bottomRadius 2 # (0,) height 5.5 # (0,) side TRUE bottom TRUE } } ] } Transform { translation 0 -3.9 0.9 rotation 1 0 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Cylinder { height 2 radius 0.9 top TRUE bottom TRUE } } ] } # BOBINE DE DEVANT Transform { translation 0 4.8 -1.8 rotation 0 0 1 1.5707 children [ Shape { appearance Appearance { texture ImageTexture {url "textures/bobine2.gif"} } geometry Cylinder { height 0.7 radius 3.5 top TRUE bottom TRUE } } ] } # BOBINE DE DERRIERE Transform { translation 0 4.8 5.5 rotation 0 0 1 1.5707 children [ Shape { appearance Appearance { texture ImageTexture {url "textures/bobine2.gif"} } geometry Cylinder { height 0.7 radius 3.5 top TRUE bottom TRUE } } ] } #TREPIEDS DU PROJECTEUR Transform { translation 0 -11 -1.4 rotation 1 0 0 0.35 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Cylinder { height 13.5 radius 0.3 top TRUE bottom TRUE } } ] } Transform { translation -1.3 -11 2.1 rotation 1 0 1 -0.3 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Cylinder { height 13.5 radius 0.3 top TRUE bottom TRUE } } ] } Transform { translation 2 -11 2.7 rotation 1 0 0 -0.3 children [ Transform { translation 0 0 0 rotation 0 0 1 0.3 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Cylinder { height 13.5 radius 0.3 top TRUE bottom TRUE } } ] } ] } ]}} #-------------------------------------------- #-------------------------------------------- # DEFINITION D'UNE BOBINE DE FILM #-------------------------------------------- #-------------------------------------------- PROTO Bobine [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Transform { translation 0 4.8 -1.8 rotation 0 0 1 0 children [ Shape { appearance Appearance { texture ImageTexture {url "textures/bobine2.gif"} } geometry Cylinder { height 0.7 radius 3.5 top TRUE bottom TRUE } } ] } ] } } #-------------------------------------------- #-------------------------------------------- # ---- DEFINITION D'UNE ARMOIRE A BOBINES ------ #-------------------------------------------- #-------------------------------------------- PROTO Armoire [ field SFVec3f translation 0 0 0 field SFRotation rotation 0 1 0 0 field SFVec3f scale 1 1 1 ] { Transform { translation IS translation rotation IS rotation scale IS scale children [ Transform { #FOND DE L'ARMOIRE translation 0 0 0 rotation 1 0 0 0 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 10 16 0.1 } } ] } Transform { #BORD GAUCHE DE L'ARMOIRE translation 5 0 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 0.1 16 5 } } ] } Transform { #BORD DROIT DE L'ARMOIRE translation -5 0 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 0.1 16 5 } } ] } Transform { #SOMMET DE L'ARMOIRE translation 0 8 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 10 0.2 5 } } ] } Transform { #ETAGERE DU HAUT translation 0 3 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 10 0.2 5 } } ] } Transform { #ETAGERE DU MILIEU translation 0 -2 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 10 0.2 5 } } ] } Transform { #BAS DE L'ARMOIRE translation 0 -7.5 2.5 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } geometry Box { size 10 0.2 5 } } ] } ] } }