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 600 pixelHeight 400 } } } ] } PROTO GEOMETRY_PROTO [ eventIn SFBool act eventIn SFBool reverseAct exposedField SFVec2f translation 0 0 exposedField SFFloat rotation 0 exposedField SFColor Color 1 1 1 exposedField SFBool filled TRUE exposedField SFFloat transparency 0 exposedField SFColor lineColor 0 0 0 exposedField SFFloat lineWidth 0 exposedField SFNode obj NULL ] { DEF TR Transform2D { rotationAngle IS rotation scale 2 1 translation IS translation children [ DEF S Shape { geometry IS obj appearance Appearance { material Material2D { emissiveColor IS Color filled IS filled transparency IS transparency lineProps LineProperties { lineColor IS lineColor width IS lineWidth } } } } ] } DEF C Conditional { activate IS act buffer { REPLACE TR.scale BY 1 1 } } DEF RC Conditional { reverseActivate IS reverseAct buffer { REPLACE TR.scale BY 2 1 } } } OrderedGroup { children [ Background2D { backColor 1 1 1 } WorldInfo { info ["This shows usage of a conditional inside a proto" "getting events outside the proto" "" "GPAC Regression Tests" "(C) 2002-2004 GPAC Team"] title "Simple proto Test" } DEF PT1 GEOMETRY_PROTO { translation 100 0 rotation 0.78 Color 1 0 1 transparency 0.75 lineColor 1 0 0 lineWidth 2 obj Circle { radius 75 } } DEF PT2 Transform2D { translation -100 0 children [ GEOMETRY_PROTO { Color 1 0 0 obj Rectangle { size 50 50 } } DEF TS TouchSensor {} ] } ] } ROUTE TS.isActive TO PT1.act ROUTE TS.isActive TO PT1.reverseAct