#VRML V2.0 utf8 EXTERNPROTO Logo [ ] "Logo.wrl#Logo" EXTERNPROTO Omgeving [ ] "Omgeving.wrl#Omgeving" EXTERNPROTO PerronEnSpoor [ ] "PerronEnSpoor.wrl#PerronEnSpoor51" EXTERNPROTO PerronBlok5 [ ] "PerronEnSpoor.wrl#PerronBlok5" EXTERNPROTO StraatEnBomen [ ] "StraatEnBomen.wrl#StraatEnBomen" EXTERNPROTO GlasRailing [ ] "GlasRailing.wrl#GlasRailing" EXTERNPROTO FietsGlasRailing [ ] "GlasRailing.wrl#FietsGlasRailing" EXTERNPROTO LosPaaltje [ ] "GlasRailing.wrl#LosPaaltje" EXTERNPROTO LosseGlasplaat [ ] "GlasRailing.wrl#LosseGlasplaat" EXTERNPROTO ElectraMast [ ] "Electra.wrl" EXTERNPROTO Trap [ ] "Treden.wrl#Trappen" EXTERNPROTO Fietsbaan [ ] "Treden.wrl#Fietsbaan" EXTERNPROTO Tram [ ] "Tram.wrl#Tram" # ------------------ # # StationAccessoires # # ------------------ # EXTERNPROTO Prullenbak [ ] "StationAccessoires.wrl#Prullenbak" EXTERNPROTO Lamp [ ] "StationAccessoires.wrl#Lamp" EXTERNPROTO Metrobord [ ] "StationAccessoires.wrl#Metrobord" EXTERNPROTO Haltebord [ ] "StationAccessoires.wrl#Haltebord" EXTERNPROTO AankomstTijdenbordCS5 [ ] "StationAccessoires.wrl#AankomstbordCS5" EXTERNPROTO AankomstTijdenbordCS51 [ ] "StationAccessoires.wrl#AankomstbordCS51" EXTERNPROTO AankomstTijdenbordAveen5 [ ] "StationAccessoires.wrl#AankomstbordAveen5" EXTERNPROTO AankomstTijdenbordAveen51 [ ] "StationAccessoires.wrl#AankomstbordAveen51" EXTERNPROTO AbriKlein [ ] "Abri.wrl#AbriKlein" EXTERNPROTO AbriGroot [ ] "Abri.wrl#AbriGroot" EXTERNPROTO Reclame1 [ ] "Abri.wrl#ReclameBord1" EXTERNPROTO Reclame2 [ ] "Abri.wrl#ReclameBord2" EXTERNPROTO Reclame3 [ ] "Abri.wrl#ReclameBord3" EXTERNPROTO Reclame4 [ ] "Abri.wrl#ReclameBord4" EXTERNPROTO Plattegrond [ ] "Abri.wrl#Plattegrond" DEF STATIONVIEW Viewpoint { description "Station overzicht" position 80 30 -120 #position 40 10 -30 orientation 0 1 0 2.7 } DEF STATIONINFO NavigationInfo { type "EXAMINE" headlight FALSE } DEF PERRONVIEW Viewpoint { description "Perron overzicht" position -1.5 1.7 1.8 } DEF PERRONINFO NavigationInfo { type "WALK" headlight FALSE } Background { backUrl "textures/Wolken.jpg" bottomUrl "textures/Wolken.jpg" frontUrl "textures/Wolken.jpg" leftUrl "textures/Wolken.jpg" rightUrl "textures/Wolken.jpg" topUrl "textures/Wolken.jpg" } # ----------------------------------------- # # Algehele scene-verlichting + 2 spotlights # # ----------------------------------------- # DirectionalLight { # Licht van boven, ofwel zonneschijn direction 0 -1 0 intensity 0.6 } DirectionalLight { # Licht van lengterichting direction -1 0 0 intensity 0.4 } DirectionalLight { # Licht van lengterichting direction 1 0 0 intensity 0.4 } DirectionalLight { # Licht van breedterichting direction 0 0 -1 intensity 0.4 } DirectionalLight { # Licht van breedterichting direction 0 0 1 intensity 0.4 } # # METROPOLITAN # # ----\|/\|/---------- # X1 X2 # # # ----/|\------/|\---- # # VU GEBOUW # Transform { # X1 rotation 0 1 0 0.05 children [ SpotLight { attenuation 1 0 0 direction 0 0 1 location 5 4 35 radius 30 } ] } Transform { # X2 rotation 0 1 0 -0.35 children [ SpotLight { attenuation 1 0 0 direction 0 0 1 location 3 4 35 radius 30 } ] } # ----------------- # # Omgeving gebouwen # # ----------------- # Transform { translation -10 -2 58.5 children [ Omgeving {} ] } # --------------- # # Perron en Spoor # # --------------- # Transform { translation -5 0 0 children [ PerronEnSpoor {} ] } # --------------- # # Straat en Bomen # # --------------- # Transform { translation 0 -1.8 -10 children [ StraatEnBomen {} ] } # --------------------- # # Railing met glas erin # # --------------------- # # # Metropolitan # # --R3----R2--R1-- # >Perron 2< # # >Perron 1< # --R3----R2--R1-- # # VU # Transform { # Perron 1 een los paaltje op hoge perron translation 15 0.75 -1.9 children [ LosPaaltje {} ] } Transform { # Perron 1 een los paaltje op lage perron translation 46.1 -0.75 -1.9 scale 1 1.1 1 children [ LosPaaltje {} ] } Transform { # Perron 2 een los paaltje op hoge perron translation -25 0.75 16 children [ LosPaaltje {} ] } # ----------------------------------------------------- # Moeilijke fietsbaan stukje begint hier # ----------------------------------------------------- Transform { # Perron 1 Fietsglas translation 15 0 1.1 children [ FietsGlasRailing {} ] } Transform { # Perron 2 Fietsglas translation 15 0 19.1 children [ FietsGlasRailing {} ] } Transform { # Perron 2 een los paaltje op lage perron translation 26.2 -0.75 16 children [ LosPaaltje {} ] } # ----------------------------------------------------- # Moeilijke fietsbaan stukje eindigd hier # ----------------------------------------------------- Transform { # R1 translation 0 0.1 0 children [ GlasRailing {} ] } Transform { # R2 translation 20 0.1 0 children [ GlasRailing {} ] } Transform { # R3 translation 51.2 -1.35 0 children [ GlasRailing {} ] } # ------------------ # # Lage perron lijn 5 # # ------------------ # Transform { translation -5 0 0 children [ PerronBlok5 {} ] } # --------------- # # Tram + Animatie # # --------------- # #Transform { # translation 0 0 0 # children [ # DEF STATIONSWITCH TouchSensor { # } # Shape { # appearance Appearance { # material Material { # diffuseColor 1 0 1 # } # } # geometry Box { # size 10.2 1 0.2 # } # } # ] #} DEF TIMER TimeSensor { cycleInterval 100 loop TRUE } Transform { translation -1.5 0 -1.5 children [ DEF TRAMSWITCH TouchSensor { } Shape { appearance Appearance { material Material { diffuseColor 0 0 1 } } geometry Box { size 0.2 1 0.2 } } ] } Transform { translation 0 2.7 2.2 scale 0.75 0.75 1 children [ DEF POSINT PositionInterpolator { key [0, 0.15, 0.3, 0.5, 0.55, 0.7, 1] keyValue [ 180 0 0, 50 0 0, -0 0 0, -0 0 0, -50 0 0, -250 0 0, -250 0 0 ] } DEF POSTGT Transform { translation 0 0 0 children [ Collision { collide FALSE children [ Transform { translation 6.9 -1.9 1.75 #positieve z -> metropolitan children [ DEF STATIONSWITCH1 TouchSensor { } DEF TicketBox Shape { appearance Appearance { material Material { transparency 1 } } geometry Box { size 0.25 0.7 0.3 } } ] } Transform { translation -6.1 -1.9 1.75 #positieve z -> metropolitan children [ DEF STATIONSWITCH2 TouchSensor { } USE TicketBox ] } Transform { translation -12.1 -1.9 1.75 #positieve z -> metropolitan children [ DEF STATIONSWITCH3 TouchSensor { } USE TicketBox ] } Transform { translation -25.1 -1.9 1.7 #positieve z -> metropolitan children [ DEF STATIONSWITCH4 TouchSensor { } USE TicketBox ] } ] } DEF TRAMVIEW Viewpoint { description "In de tram" position 0 -1.75 2 } DEF TRAMINFO NavigationInfo { avatarSize [0.25, 2.2, 1] headlight FALSE type "WALK" } Tram {} ] } ] } DEF TRAMFILTER Script { eventIn SFBool input field SFBool boolValue TRUE eventOut SFBool output url "javascript: function input(value, time) { if (value==boolValue) output = value; } " } DEF STATIONFILTER Script { eventIn SFBool input field SFBool boolValue TRUE eventOut SFBool output url "javascript: function input(value, time) { if (value==boolValue) output = value; } " } # ------------- Tram laten rijden -------------------# ROUTE TIMER.fraction_changed TO POSINT.set_fraction ROUTE POSINT.value_changed TO POSTGT.set_translation # ------------- Viewpoint binding ------------------ # ROUTE STATIONSWITCH1.isActive TO STATIONFILTER.input ROUTE STATIONSWITCH2.isActive TO STATIONFILTER.input ROUTE STATIONSWITCH3.isActive TO STATIONFILTER.input ROUTE STATIONSWITCH4.isActive TO STATIONFILTER.input ROUTE STATIONFILTER.output TO TRAMVIEW.set_bind ROUTE TRAMSWITCH.isActive TO TRAMFILTER.input ROUTE TRAMFILTER.output TO PERRONVIEW.set_bind # ------------- NavigationInfo updating ------------ # ROUTE STATIONFILTER.output TO TRAMINFO.set_bind ROUTE TRAMFILTER.output TO PERRONINFO.set_bind # --------- # # Metrobord # # --------- # Transform { translation 11 2.1 -1.5 children [ Metrobord {} ] } Transform { translation 11 2.1 15.5 children [ Metrobord {} ] } Transform { translation -26 2.1 -1.5 children [ Metrobord {} ] } Transform { translation -26 2.1 15.5 children [ Metrobord {} ] } # --------- # # Haltebord # # --------- # Transform { translation -18 2.1 15.5 children [ Haltebord {} ] } Transform { translation 13 2.1 -1.5 children [ Haltebord {} ] } Transform { translation 13 2.1 15.5 children [ Haltebord {} ] } Transform { translation -18 2.1 -1.5 children [ Haltebord {} ] } # ------------------ # # Aankomsttijdenbord # # ------------------ # Transform { translation 23 0.7 15.5 children [ AankomstTijdenbordCS5 {} ] } Transform { translation -4 2.1 15.5 children [ AankomstTijdenbordCS51 {} ] } Transform { translation 23 0.7 -1.5 children [ AankomstTijdenbordAveen5 {} ] } Transform { translation -4 2.1 -1.5 children [ AankomstTijdenbordAveen51 {} ] } # ------ # # Abri's # # ------ # Transform { translation 30 -0.1 -1.55 children [ AbriKlein {} Reclame1 {} Plattegrond {} ] } Transform { # Perron 2 translation 35 -0.1 15.55 rotation 0 1 0 3.14 children [ AbriKlein {} Reclame2 {} Plattegrond {} ] } Transform { translation 2 1.3 -1.55 children [ AbriKlein {} Reclame3 {} Plattegrond {} ] } Transform { # Perron 2 translation 7 1.3 15.55 rotation 0 1 0 3.14 children [ AbriKlein {} Reclame4 {} ] } Transform { # Perron 2 translation -7.5 1.3 15.55 rotation 0 1 0 3.14 children [ AbriKlein {} Reclame1 {} ] } Transform { translation -17 1.3 -1.55 children [ AbriGroot {} Reclame3 {} ] } Transform { translation -9 1.3 -1.55 children [ Reclame4 {} ] } # ---------- # # Prullenbak # # ---------- # # # >Perron 2< # --------------- # P6 P4 P3 # # P5 P2 P1 # --------------- # >Perron 1< # Transform { #P1 translation -15 1 -1.5 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } Transform { #P2 translation 2 1 -1.5 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } Transform { #P3 translation -10 1 15.5 rotation 0 1 0 3.14 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } Transform { #P4 translation 4.5 1 15.5 rotation 0 1 0 3.14 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } Transform { #P5 translation 45 -0.4 -1.5 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } Transform { #P6 translation 40 -0.4 15.5 rotation 0 1 0 3.14 scale 0.6 0.55 0.6 children [ Prullenbak {} ] } # ------------- # # Electramasten # # ------------- # Transform { translation -120 2 7 children [ ElectraMast {} ] } Transform { translation -110 2 7 children [ ElectraMast {} ] } Transform { translation -100 2 7 children [ ElectraMast {} ] } Transform { translation -90 2 7 children [ ElectraMast {} ] } Transform { translation -80 2 7 children [ ElectraMast {} ] } Transform { translation -70 2 7 children [ ElectraMast {} ] } Transform { translation -60 2 7 children [ ElectraMast {} ] } Transform { translation -50 2 7 children [ ElectraMast {} ] } Transform { translation -40 2 7 children [ ElectraMast {} ] } Transform { translation -30 2 7 children [ ElectraMast {} ] } Transform { translation -20 2 7 children [ ElectraMast {} ] } Transform { translation -10 2 7 children [ ElectraMast {} ] } Transform { translation 0 2 7 children [ ElectraMast {} ] } Transform { translation 10 2 7 children [ ElectraMast {} ] } Transform { translation 20 2 7 children [ ElectraMast {} ] } Transform { translation 30 2 7 children [ ElectraMast {} ] } Transform { translation 40 2 7 children [ ElectraMast {} ] } Transform { translation 50 2 7 children [ ElectraMast {} ] } Transform { translation 60 2 7 children [ ElectraMast {} ] } Transform { translation 70 2 7 children [ ElectraMast {} ] } Transform { translation 80 2 7 children [ ElectraMast {} ] } Transform { translation 90 2 7 children [ ElectraMast {} ] } Transform { translation 100 2 7 children [ ElectraMast {} ] } Transform { translation 110 2 7 children [ ElectraMast {} ] } Transform { translation 120 2 7 children [ ElectraMast {} ] } Transform { translation 130 2 7 children [ ElectraMast {} ] } # ------------------ # # Treden + Fietsbaan # # ------------------ # Transform { # Trap + Fietsbaan translation 15.2 0 1 children [ Trap {} Fietsbaan{} ] } Transform { # Trap 1 translation 15.2 0 13 children [ Trap {} ] } Transform { translation 15.2 0 17 # Fietsbaan 1 children [ Fietsbaan {} ] } Transform { # Trap 2 translation -25.2 0 -0.2 scale 1 1 1.8 rotation 0 1 0 3.14 children [ Trap {} ] } Transform { # Trap 3 translation -25.2 0 14.2 scale 1 1 1.8 rotation 0 1 0 3.14 children [ Trap {} ] } # ------------------------ # # Verschillende viewpoints # # ------------------------ # Group { children [ DEF NavigatiePS ProximitySensor { size 500.0 100.0 500.0 center 0.0 20.0 0.0 } DEF NavigatieScherm Transform { translation 0 0.0 0 children [ Transform { translation 0.0 -0.25 -0.8 scale 0.1 0.1 0.1 children [ Collision { collide FALSE children [ Group { children [ # Transform { # Geeft het MIK-STIPJE aan # translation 0 2.5 0 # children [ # Shape { # appearance Appearance { # material Material { # diffuseColor 0.5 0.5 0.5 # } # } # geometry Sphere { # radius 0.03 # } # } # ] # } Anchor { url "../index.html" description "Back to index" children [ Transform { translation 4.5 5.3 0 scale 0.8 0.8 0.8 children [ Logo {} ] } ] } Transform { translation -5.25 5.1 0 scale 0.2 0.2 1 children [ Shape { geometry Text { string "Navigation -->" } } ] } Transform { translation -3.1 5.4 -0.1 children [ Shape { appearance Appearance { material Material { diffuseColor 0 0.3 0.5 transparency 0.8 } } geometry Box { size 4.7 0.75 0.01 } } ] } Anchor { url "#Firstview" description "Startpunt" children [ Transform { translation -5 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/01.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Anchor { url "#Secondview" description "Grondview VU-bord" children [ Transform { translation -4.35 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/02.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Anchor { url "#Thirdview" description "Grondview Metropolitan" children [ Transform { translation -3.7 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/03.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Anchor { url "#Fourthview" description "Station view" children [ Transform { translation -3.05 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/04.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Anchor { url "#Fifthview" description "Luchtview VU" children [ Transform { translation -2.40 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/05.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Anchor { url "#Sixthview" description "Tram 5" children [ Transform { translation -1.75 5.5 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/06.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } ] } Transform { translation -1.1 5.5 0 children [ DEF demoButton TouchSensor {} Shape { appearance Appearance { texture ImageTexture { url "views/Demo.jpg" } } geometry Box { size 0.55 0.35 0.01 } } ] } Anchor { url "#Lights" description "Lights" children [ Transform { translation -1.1 5.15 0 children [ Shape { appearance Appearance { texture ImageTexture { url "views/Lights.jpg" } } geometry Box { size 0.55 0.2 0.01 } } ] } ] } ] } ] } ] } ] } ] } Transform { children [ DEF Firstview Viewpoint { description "Startpunt" position 80 30 -120 orientation 0 1 0 2.7 } ] } Transform { children [ DEF Secondview Viewpoint { description "Grondview VU-bord" position 70 5 -40 orientation 0 1 0 2.1 } ] } Transform { children [ DEF Thirdview Viewpoint { description "Grondview Metropolitan" position 80 7 50 orientation 0 1 0 1 } ] } Transform { children [ DEF Fourthview Viewpoint { description "Station view" position -35 2 45 orientation 0 1 0 -0.55 } ] } Transform { children [ DEF Fifthview Viewpoint { description "Luchtview VU" position -100 15 -50 orientation 0 1 0 -2.2 } ] } Transform { children [ DEF Sixthview Viewpoint { description "Tram 5" position 36 0.7 -1 orientation 0 1 0 -3.8 } ] } Transform { children [ DEF Lights Viewpoint { description "Lights" position -50 17 65 orientation 0 1 0 -0.45 } ] } ROUTE NavigatiePS.position_changed TO NavigatieScherm.set_translation ROUTE NavigatiePS.orientation_changed TO NavigatieScherm.set_rotation DEF demoOrientationInterpolator OrientationInterpolator { key [ 0.0, 0.05, 0.1, 0.2, 0.25, 0.3, 0.35, 0.4, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1] keyValue [ 0 1 0 3.14 #0 0 1 0 2.35 0 1 0 1.57 #1 0 1 0 0 #2 0 1 0 -0.3 0 1 0 -0.6 #3 0 1 0 -1.1 0 1 0 -1.57 #4 0 1 0 -1.57 #5 0 1 0 0 0 1 0 1.57 #6 0 1 0 2 #7 0 1 0 1.57 #8 0 1 0 4 #9 0 1 0 3.14 #10 ] } DEF demoPositionInterpolator PositionInterpolator { key [ 0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.5, 0.55, 0.6, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1] keyValue [ 70 30 -120 #0 115 25 -70 140 20 -20 #1 115 30 130 0 40 200 #2 -70 30 150 -120 20 100 #3 -130 10 40 -110 2.5 10 #4 100 2.5 10 #5 110 10 30 120 20 -10 #6 100 20 -50 #7 80 5 -23 0 2.5 -23 #8 -100 2.5 -23 -140 20 -140 #9 -30 20 -160 70 20 -120 #10 ] } DEF demoTimer TimeSensor { loop FALSE cycleInterval 30 } DEF DEMOFILTER Script { eventIn SFBool input field SFBool boolValue TRUE eventOut SFBool output url "javascript: function input(value, time) { if (value==boolValue) output = value; } " } # Hierdoor wordt een bind naar STATIONVIEW uitgevoerd.Bij andere bindings werkt de demo niet. ROUTE demoButton.isActive TO DEMOFILTER.input ROUTE DEMOFILTER.output TO STATIONVIEW.set_bind # Hierdoor wordt de DEMO gekilled indien een andere binding gemaakt wordt. ROUTE Firstview.bindTime TO demoTimer.stopTime ROUTE Secondview.bindTime TO demoTimer.stopTime ROUTE Thirdview.bindTime TO demoTimer.stopTime ROUTE Fourthview.bindTime TO demoTimer.stopTime ROUTE Fifthview.bindTime TO demoTimer.stopTime ROUTE Sixthview.bindTime TO demoTimer.stopTime ROUTE Lights.bindTime TO demoTimer.stopTime ROUTE demoButton.touchTime TO demoTimer.startTime ROUTE demoTimer.fraction_changed TO demoPositionInterpolator.set_fraction ROUTE demoTimer.fraction_changed TO demoOrientationInterpolator.set_fraction ROUTE demoPositionInterpolator.value_changed TO STATIONVIEW.position ROUTE demoOrientationInterpolator.value_changed TO STATIONVIEW.orientation