InitialObjectDescriptor { objectDescriptorID 1 audioProfileLevelIndication 255 visualProfileLevelIndication 254 sceneProfileLevelIndication 1 graphicsProfileLevelIndication 1 ODProfileLevelIndication 1 esDescr [ ES_Descriptor { ES_ID 1 decConfigDescr DecoderConfigDescriptor { streamType 3 decSpecificInfo BIFSConfig { isCommandStream true pixelMetric true pixelWidth 200 pixelHeight 140 } } } ] } OrderedGroup { children [ Background2D { backColor 1 1 1 } WorldInfo { info [ "This test shows a TouchSensor node used to modify the filled property of 2 Material2D nodes." "cf bifs-2D-interactivity-touchsensor-isactive" "The difference with the above test is the event propagation. Instead of routing the TouchSensor isActive event to both Material2D node, the event is only sent to one Material2D node, but since the emissiveColor field is an exposedField, it generate in turns a new event and that event is routed to the second Material2D node." "" "GPAC Regression Tests" "(C) 2002-2006 GPAC Team" ] title "TouchSensor, isActive & Event Propagation" } Transform2D { scale 0.5 0.5 children [ Transform2D { translation 0 60 children [ Shape { appearance Appearance { material Material2D { emissiveColor 0 1 0 filled TRUE } } geometry Rectangle { size 100 100 } } DEF TS1 TouchSensor {} DEF TS2 TouchSensor {} ] } Transform2D { translation -100 -50 children [ Shape { appearance Appearance { material DEF M1 Material2D { emissiveColor 1 1 0 } } geometry Circle { radius 50 } } ] } Transform2D { translation 100 -50 children [ Shape { appearance Appearance { material DEF M2 Material2D { emissiveColor 0 1 1 } } geometry Circle { radius 50 } } ] } ] } ] } ROUTE TS1.isActive TO M1.filled ROUTE M1.filled TO M2.filled