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." 
    "The TouchSensor node sends an isActive event each time a Mouse Button is pressed. The value of the event is TRUE if the Mouse is over a sibling shape of the TouchSensor node. Otherwise it is FALSE." 
    "In this example, the event value is routed to the filled property of 2 different circles. So, when the mouse is clicked on the square, both circled are filled and when the mouse is released, both circles become empty."
    ""
    "GPAC Regression Tests" "$Date: 2007-07-27 09:46:07 $ - $Revision: 1.3 $" 
    "(C) 2002-2006 GPAC Team"
   ]
   title "TouchSensor & isActive"
  }
  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 TS2.isActive TO M2.filled

