InitialObjectDescriptor {
  objectDescriptorID 1
  ODProfileLevelIndication 0xFF
  sceneProfileLevelIndication 0xFE
  audioProfileLevelIndication 0xFF
  visualProfileLevelIndication 0xFF
  graphicsProfileLevelIndication 0xFE

  esdescr [
    ES_Descriptor {
      es_id 1
      decConfigDescr DecoderConfigDescriptor {
				streamType 3
				decSpecificInfo BIFSConfig {
				  isCommandStream true
				  pixelMetric false
				  pixelWidth 400
				  pixelHeight 300
				}
      }
    }
  ]
}

Group {
 children [
  Viewpoint {}
  WorldInfo {
   title "PlaneSensor test"
   info ["This shows a planeSensor" "exercising isActive, translationChanged and trackPoint_changed events" "" "GPAC Regression Tests" "$Date: 2007-07-27 09:46:08 $ - $Revision: 1.2 $" "(C) 2002-2004 GPAC Team"]
  }
  Background2D {backColor 1 1 1}

  DEF TF Transform {
   translation 2 0 0
   children [
    DEF PS PlaneSensor {
     maxPosition 2 2
     minPosition -2 -2
     offset 2 0 0
    }
    Shape {
     appearance Appearance {
      material Material {
       diffuseColor 1 0 0
      }
     }
     geometry Box {
      size 2 2 1
     }
    }
   ]
  }

  Transform {
   translation -5 1 -10
   children [
    Shape {
     appearance Appearance {
      material DEF M Material {
       diffuseColor 1 0 0.245
      }
     }
     geometry Sphere { radius 2 }
    }
   ]
  }
  Transform {
   translation 0 -3 0
   children [
    Shape {
     appearance Appearance { material Material2D { filled TRUE emissiveColor 0 0 0} }
     geometry DEF TXT Text { string "Trackpoint" fontStyle FontStyle {size 0.8 justify "MIDDLE"} }
    }
   ]
  }
	DEF V Valuator{}

  DEF C Conditional {
   buffer { REPLACE M.diffuseColor BY 0 0.25 0.65 }
  }
  DEF RC Conditional {
   buffer { REPLACE M.diffuseColor BY 1 0 0.245}
  }

 ]
}
ROUTE PS.isActive TO C.activate
ROUTE PS.isActive TO RC.reverseActivate
ROUTE PS.translation_changed TO TF.translation

ROUTE PS.trackPoint_changed TO V.inSFVec3f
ROUTE V.outMFString TO TXT.string
