#include "column.vh" #include "loudspeaker.vh" #include "gateway.vh" #include "trees.vh" #define cable_section (0.04) #define AUDIO_TUNNEL_MCAST "224.1.1.10" #define AUDIO_TUNNEL_PORT 6666 world "auditorium.sics.se" { start v 0.0 1.8 0.0 min v -1e+20 0.0 -1e+20 max v 1e+20 1e+20 1e+20 background 0.15 0.3 0.5 multicast "233.17.65.126" } /************* ** The floor **************/ object { material "TREES_GROUND" view 0 { N_POLY 4 v -100 0 -100 v -100 0 100 v 100 0 100 v 100 0 -100 } } object { translation v 0.0 0.0 -25.0 subs object { translation v -13.0 0.0 17.0 pine_tree(3.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v -15.0 0.0 15.0 pine_tree(3.5, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v -17.0 0.0 13.0 pine_tree(4.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 13.0 0.0 17.0 pine_tree(3.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 15.0 0.0 15.0 pine_tree(3.5, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 17.0 0.0 13.0 pine_tree(4.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v -13.0 0.0 -17.0 pine_tree(3.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v -15.0 0.0 -15.0 pine_tree(3.5, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v -17.0 0.0 -13.0 pine_tree(4.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 13.0 0.0 -17.0 pine_tree(3.0, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 15.0 0.0 -15.0 pine_tree(3.5, "BROWN_M", "DECIDUOUS_GROUND") } subs object { translation v 17.0 0.0 -13.0 pine_tree(4.0, "BROWN_M", "DECIDUOUS_GROUND") } } /************* ** The auditorium **************/ object { translation v 0.0 0.2 -25.0 eulerxyz v 0.0 3.1415927 0.0 material "BOTTLE_GREEN_M" maj_descr "Podium" realobj on /* The podium */ view 0 { RBOX v -10.0 -0.2 -10.0 v 10.0 0.0 10.0 } /* The steps to the podium */ subs object { translation v -6.0 0.0 -10.0 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.05 -0.5 } } subs object { translation v -6.0 0.0 -10.5 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.1 -0.5 } } subs object { translation v -6.0 0.0 -11.0 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.15 -0.5 } } subs object { translation v 6.0 0.0 -10.0 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.05 -0.5 } } subs object { translation v 6.0 0.0 -10.5 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.1 -0.5 } } subs object { translation v 6.0 0.0 -11.0 material "BOTTLE_GREEN_M" view 0 { RBOX v -1.0 -0.2 0.0 v 1.0 -0.15 -0.5 } } /* A first row of columns */ subs object { translation v 9.5 0.0 9.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,5.0) } subs object { translation v 9.5 0.0 8.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,4.0) } subs object { translation v 9.5 0.0 7.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,3.0) } subs object { translation v 9.5 0.0 6.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,2.0) } /* Last column of the row, with a loudspeaker and its cable on it. */ subs object { translation v 9.5 0.0 5.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,1.0) subs object { translation v 0.0 1.0 0.0 eulerxyz v 0.0 -1.5707963 0.0 subs object { audio_source { multicast AUDIO_TUNNEL_MCAST port AUDIO_TUNNEL_PORT } maj_descr "Speaker - Tuned:224.1.1.10/6666" loudspeaker(0.2, 0.2, 0.4) } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) 0.0 0.0 v (cable_section/2) cable_section -0.3 } } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) cable_section -0.3 v (cable_section/2) -1.1 -(0.3+cable_section) } } } } /* A second row of columns */ subs object { translation v -9.5 0.0 9.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,5.0) } subs object { translation v -9.5 0.0 8.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,4.0) } subs object { translation v -9.5 0.0 7.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,3.0) } subs object { translation v -9.5 0.0 6.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,2.0) } /* Last column of the row, with a loudspeaker and its cable on it. */ subs object { translation v -9.5 0.0 5.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,1.0) subs object { translation v 0.0 1.0 0.0 eulerxyz v 0.0 1.5707963 0.0 subs object { audio_source { multicast AUDIO_TUNNEL_MCAST port AUDIO_TUNNEL_PORT } maj_descr "Speaker - Tuned:224.1.1.10/6666" loudspeaker(0.2, 0.2, 0.4) } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) 0.0 0.0 v (cable_section/2) cable_section -0.3 } } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) cable_section -0.3 v (cable_section/2) -1.1 -(0.3+cable_section) } } } } /* Two last columns with loudspeakers and cables */ subs object { translation v 0.0 0.0 9.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,1.0) subs object { translation v 0.0 1.0 0.0 eulerxyz v 0.0 3.1415927 0.0 subs object { audio_source { multicast AUDIO_TUNNEL_MCAST port AUDIO_TUNNEL_PORT } maj_descr "Speaker - Tuned:224.1.1.10/6666" loudspeaker(0.2, 0.2, 0.4) } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) 0.0 0.0 v (cable_section/2) cable_section -0.3 } } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) cable_section -0.3 v (cable_section/2) -1.1 -(0.3+cable_section) } } } } subs object { translation v 0.0 0.0 -9.5 realobj on angular_column("LIGHT_GREEN_M","BOTTLE_GREEN_M",0.2,1.0) subs object { translation v 0.0 1.0 0.0 subs object { audio_source { multicast AUDIO_TUNNEL_MCAST port AUDIO_TUNNEL_PORT } maj_descr "Speaker - Tuned:224.1.1.10/6666" loudspeaker(0.2, 0.2, 0.4) } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) 0.0 0.0 v (cable_section/2) cable_section -0.3 } } subs object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) cable_section -0.3 v (cable_section/2) -1.1 -(0.3+cable_section) } } } } } /************* ** The gateway back to mmedia **************/ object { translation v 0.0 0.0 25.0 cool_pos_gateway("http://www.sics.se/dive/data/mmedia","mmedia","GATEWAY_M","WHEAT_M", "BOTTLE_GREEN_M", "GREEN_M", -30,1.8,-78) } /* The cable joining the gateway and the auditorium */ object { material "BLUE_NEON_M" view 0 { RBOX v -(cable_section/2) 0.0 -20.0 v (cable_section/2) cable_section 25.0 } }