#VRML++ draft utf8 # This file contains two examples for connection # classes: FanOut and Filter CLASS FanOut [ field TimeSensor trigger NULL field MFNode targets [ ] ] EXTENDS SFNode { ROUTE trigger.fraction_changed TO targets.set_fraction } DEF O1 ColorInterpolator { key [ 0, 1 ] keyValue [ 1 0 0, 0 1 0 ] } DEF O2 ColorInterpolator { key [ 0, 1 ] keyValue [ 0 0 1, 1 1 1 ] } DEF TS TimeSensor { loop TRUE } FanOut { trigger USE TS targets [ USE O1 USE O2 ] } Shape { appearance Appearance { material DEF BALLCOL Material { } } geometry Sphere { } } Transform { children Shape { appearance Appearance { material DEF BOXCOL Material { } } geometry Sphere { } } translation 3 0 0 } ROUTE O1.value_changed TO BALLCOL.set_diffuseColor ROUTE O2.value_changed TO BOXCOL.set_diffuseColor CLASS Filter [field MFNode sources [] field OrientationInterpolator filter NULL field MFNode targets [] ] EXTENDS SFNode { ROUTE sources.fraction_changed TO filter.set_fraction ROUTE filter.value_changed TO targets.set_rotation } DEF CONE_1 Transform { children Shape { appearance Appearance { material DEF BOXCOL Material { } } geometry Cone { } } translation 6 0 0 } DEF CONE_2 Transform { children Shape { appearance Appearance { material DEF BOXCOL Material { } } geometry Cone { } } translation 8 0 0 } DEF OPOL OrientationInterpolator { key [ 0, 0.5, 1 ] keyValue [ 1 0 0 0.0, 0 1 1 3.14, 1 0 0 0.0 ] } Filter { sources USE TS filter USE OPOL targets [ USE CONE_1 USE CONE_2 ] }