#VRML V2.0 utf8 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - PROTOS UTILISES - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EXTERNPROTO Siege [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#Siege" EXTERNPROTO Spot [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#Spot" EXTERNPROTO RideauLeft [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#RideauLeft" EXTERNPROTO RideauRight [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#RideauRight" EXTERNPROTO Projecteur [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#Projecteur" EXTERNPROTO Bobine [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#Bobine" EXTERNPROTO Armoire [ field SFVec3f translation field SFRotation rotation field SFVec3f scale ] "protos.wrl#Armoire" # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - POINTS DE VUE - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DEF TheEntryView Viewpoint { position 0 2 3 orientation 0 1 0 0 fieldOfView 0.785398 description "Cinema" } DEF VP1 Viewpoint { position -10 11.5 15 orientation 0 1 0 -0.5 description "Projection room" } DEF VP2 Viewpoint { position 0 12 2 orientation 1 0 0 -0.35 description "Window of the projection room" } DEF TheNavigationInfo NavigationInfo { avatarSize [ 0.25, 1.6, 0.75 ] type [ "FLY", "ANY" ] headlight FALSE speed 5 } #DEF TheTime TimeSensor { # cycleInterval 10 # enabled TRUE # loop TRUE # startTime 0 # stopTime -1 #} # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - - - BEAU CIEL BLEU - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Background { skyAngle 3.7 skyColor [0.273 0 1, 0.607 0.896 0.974] } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - SOLEIL QUI BRILLE DANS BEAU CIEL BLEU - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Transform { translation 2 300 -200 children [ Shape { appearance Appearance { material Material { emissiveColor 1 1 0 shininess 1 } } geometry Sphere { radius 15 } } ] } PointLight { ambientIntensity 0.5 attenuation 1 0 0 color 1 1 1 location 2 200 100 on TRUE radius 2000 } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - -- -THE WALLS - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Transform { children [ # THE FLOOR OF THE CINEMA Shape { appearance Appearance { material Material { # diffuseColor 1 0.66 0.39 diffuseColor 0.92 0.57 0.45 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ -20 0 3, 20 0 3, 20 -10 -40, -20 -10 -40 ] } coordIndex [0, 1, 2, 3, 0, -1] } } # THE ROOF Shape { appearance Appearance { material Material { diffuseColor 0 0 0 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ -20 20 3, 20 20 3, 20 20 -40, -20 20 -40 ] } coordIndex [0, 3, 2, 1, 0, -1] } } #LEFT WALL Shape { appearance Appearance { material Material { diffuseColor 1 0.34 0.27 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ -20 0 3, -20 -10 -40, -20 20 -40, -20 20 3 ] } coordIndex [0, 1, 2, 3, 0, -1] } } # RIGHT WALL Shape { appearance Appearance { material Material { diffuseColor 1 0.34 0.27 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ 20 0 3, 20 20 3, 20 20 -40 , 20 -10 -40 ] } coordIndex [0, 1, 2, 3, 0, -1] } } #PROJECTION WALL Shape { appearance Appearance { material Material { diffuseColor 1 0.66 0.39 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ 20 -10 -40, 20 20 -40, -20 20 -40, -20 -10 -40 ] } coordIndex [0, 1, 2, 3, 0, -1] } } #SCREEN OF PROJECTION Shape { appearance Appearance { material Material { diffuseColor 1 1 1 shininess 0.1 } } geometry IndexedFaceSet { coord Coordinate { point [ 18 15 -39.9, -18 15 -39.9, -18 -6 -39.9, 18 -6 -39.9 ] } coordIndex [0, 1, 2, 3, 0, -1] texCoordIndex [3, 2, 1, 0, -1] } } ] } #WALL OF THE ENTRY Transform { translation 0 10 3 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 1 0.8 0.39 shininess 0.1 } } geometry Box { size 40 20 0.4 } } ] } # WINDOW OF HE PROJECTION ROOM Transform { translation 0 11.5 2.5 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0 0 0 shininess 0.7 } } geometry Box { size 2.5 1.4 0.1 } } ] } # RIDEAUX ROUGES RideauLeft { translation -19.4 -8.5 -38 } RideauRight { translation 15.4 -8-38 } # LA TRINGLE DE RIDEAU Transform { translation 1 18-36.5 # rotation 0 0 1 1.5707 children [ Shape { appearance Appearance { material Material { diffuseColor 0.2 0.2 0.2 shininess 1 } } # geometry Cylinder { # height 20 # radius 0.45 # top TRUE # bottom TRUE # } geometry Box { size 20 0.8 0.8 } } ] } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # - - - - - - - - - -- -THE SITS - - - - - - - - - - - - - - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 1ere rangee de sieges Transform { translation 0 -0.4 0 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 2eme rangee de sieges Transform { translation 0 -0.75 -1.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 3eme rangee de sieges Transform { translation 0 -1.1 -3 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 4eme rangee de sieges Transform { translation 0 -1.45 -4.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 5eme rangee de sieges Transform { translation 0 -1.8 -6 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 6eme rangee de sieges Transform { translation 0 -2.15 -7.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 7eme rangee de sieges Transform { translation 0 -2.5 -9 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 8eme rangee de sieges Transform { translation 0 -2.85 -10.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 9eme rangee de sieges Transform { translation 0 -3.2 -12 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 10eme rangee de sieges Transform { translation 0 -3.55 -13.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 11eme rangee de sieges Transform { translation 0 -3.9 -15 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 12eme rangee de sieges Transform { translation 0 -4.25 -16.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 13eme rangee de sieges Transform { translation 0 -4.6 -18 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 14eme rangee de sieges Transform { translation 0 -4.95 -19.5 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # 15eme rangee de sieges Transform { translation 0 -5.3 -21 children [ Siege { translation -10 0 0 } Siege { translation -8.4 0 0 } Siege { translation -6.8 0 0 } Siege { translation -5.2 0 0 } Siege { translation -3.6 0 0 } Siege { translation -2 0 0 } Siege { translation -0.4 0 0 } # Allee centrale Siege { translation 2 0 0 } Siege { translation 3.6 0 0 } Siege { translation 5.2 0 0 } Siege { translation 6.8 0 0 } Siege { translation 8.4 0 0 } Siege { translation 10 0 0 } ] } # RANGEE DE SPOTS (LEFT) Spot { translation -18.6 5.5 -8 scale 0.7 0.7 0.7 rotation 0 1 0 1.5707 } Spot { translation -18.6 3.8 -16 scale 0.7 0.7 0.7 rotation 0 1 0 1.5707 } Spot { translation -18.6 2.1 -24 scale 0.7 0.7 0.7 rotation 0 1 0 1.5707 } Spot { translation -18.6 0.7 -32 scale 0.7 0.7 0.7 rotation 0 1 0 1.5707 } # RANGEE DE SPOTS (RIGHT) Spot { translation 18.6 5.5 -8 scale 0.7 0.7 0.7 rotation 0 1 0 -1.5707 } Spot { translation 18.6 3.8 -16 scale 0.7 0.7 0.7 rotation 0 1 0 -1.5707 } Spot { translation 18.6 2.1 -24 scale 0.7 0.7 0.7 rotation 0 1 0 -1.5707 } Spot { translation 18.6 0.7 -32 scale 0.7 0.7 0.7 rotation 0 1 0 -1.5707 } #-------------------------------------------- #-------------------------------------------- #---- -- THE PROJECTION ROOM ----------------- #-------------------------------------------- #-------------------------------------------- # WINDOW OF THE PROJECTION ROOM Transform { translation 0 11.5 3.3 scale 1 1 1 children [ Shape { appearance Appearance { texture ImageTexture {url "textures/cinoche.jpg"} } geometry Box { size 2.5 1.4 0.1 } } ] } # FLOOR OF THE PROJECTION ROOM Transform { translation 0 6 10 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.3 0.3 0.3 shininess 0.7 } } geometry Box { size 23 0.4 14 } } ] } # LEFT WALL OF THE PROJECTION ROOM Transform { translation - 11.4 11 10 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.3 0.3 0.3 shininess 0.7 } } geometry Box { size 0.2 10 14 } } ] } # RIGHT WALL OF THE PROJECTION ROOM Transform { translation 11.4 11 10 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.3 0.3 0.3 shininess 0.7 } } geometry Box { size 0.2 10 14 } } ] } # ROOF OF THE PROJECTION ROOM Transform { translation 0 16 10 scale 1 1 1 children [ Shape { appearance Appearance { material Material { diffuseColor 0.3 0.3 0.3 shininess 0.7 } } geometry Box { size 23 0.4 14 } } ] } Projecteur { translation 0 11.5 6.4 scale 0.3 0.32 0.27 rotation 0 1 0 0 } Armoire { translation -7.5 9.5 5 scale 0.4 0.4 0.4 rotation 0 1 0 0 }