InitialObjectDescriptor { objectDescriptorID 1 audioProfileLevelIndication 1 visualProfileLevelIndication 1 sceneProfileLevelIndication 1 graphicsProfileLevelIndication 1 ODProfileLevelIndication 1 esDescr [ ES_Descriptor { ES_ID 1 decConfigDescr DecoderConfigDescriptor { streamType 1 } } ES_Descriptor { ES_ID 2 decConfigDescr DecoderConfigDescriptor { streamType 3 decSpecificInfo BIFSConfig { isCommandStream true pixelMetric true pixelWidth 600 pixelHeight 400 } } } ] } OrderedGroup { children [ Background2D { url [od:5] } WorldInfo { info ["This shows combination of Clipper2D objects" "with different modes" "" "GPAC Regression Tests" "(C) 2002-2004 GPAC Team"] title "Clipper2D Test" } Transform2D { scale 0.5 0.5 translation -200 100 children [ Shape { appearance Appearance { material Material2D { emissiveColor 1 1 0 filled TRUE } } geometry Rectangle { size 200 200 } } DEF PS PlaneSensor2D { maxPosition 150 150 minPosition -150 -150 } Shape { appearance DEF TEXTAPP Appearance { material Material2D { emissiveColor 0 0 0 filled TRUE } } geometry Text { string ["Translate" "round" "cliper"] fontStyle DEF FS FontStyle { justify ["MIDDLE" "MIDDLE"] size 40 } } } ] } Transform2D { scale 0.5 0.5 translation -80 100 children [ DEF S1 Switch { whichChoice 0 choice [ Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["Round Clipper" "inside = FALSE"] fontStyle USE FS } } DEF TS1 TouchSensor {} ] } Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["Round Clipper" "inside = TRUE"] fontStyle USE FS } } DEF RTS1 TouchSensor {} ] } ] } ] } Transform2D { scale 0.5 0.5 translation -80 0 children [ DEF SX1 Switch { whichChoice 0 choice [ Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["XOR = FALSE"] fontStyle USE FS } } DEF TSX1 TouchSensor {} ] } Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["XOR = TRUE"] fontStyle USE FS } } DEF RTSX1 TouchSensor {} ] } ] } ] } Transform2D { scale 0.5 0.5 translation -200 -120 children [ Shape { appearance Appearance { material Material2D { emissiveColor 1 0 1 filled TRUE } } geometry Circle { radius 100 } } DEF DS DiscSensor {} Shape { appearance USE TEXTAPP geometry Text { string ["Rotate" "square" "cliper"] fontStyle USE FS } } ] } Transform2D { scale 0.5 0.5 translation -80 -120 children [ DEF S2 Switch { whichChoice 0 choice [ Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["Rect Clipper" "inside = FALSE"] fontStyle USE FS } } DEF TS2 TouchSensor {} ] } Group { children [ Shape { appearance USE TEXTAPP geometry Text { string ["Rect Clipper" "inside = TRUE"] fontStyle USE FS } } DEF RTS2 TouchSensor {} ] } ] } ] } Transform2D { translation 150 0 children [ DEF CLIP_SQ Clipper2D { inside FALSE children [ DEF CLIP_RD Clipper2D { inside FALSE children [ Shape { appearance Appearance { texture ImageTexture { url [od:10] repeatS FALSE repeatT FALSE } } geometry Circle { radius 100 } } ] geometry Circle { radius 50 } transform DEF TR_RD Transform2D {} } ] geometry Rectangle { size 200 75 } transform DEF TR_SQ Transform2D {} } ] } DEF C1 Conditional { buffer { REPLACE CLIP_RD.inside BY TRUE REPLACE S1.whichChoice BY 1 } } DEF RC1 Conditional { buffer { REPLACE CLIP_RD.inside BY FALSE REPLACE S1.whichChoice BY 0 } } DEF CX1 Conditional { buffer { REPLACE CLIP_RD.XOR BY TRUE REPLACE SX1.whichChoice BY 1 } } DEF RCX1 Conditional { buffer { REPLACE CLIP_RD.XOR BY FALSE REPLACE SX1.whichChoice BY 0 } } DEF C2 Conditional { buffer { REPLACE CLIP_SQ.inside BY TRUE REPLACE S2.whichChoice BY 1 } } DEF RC2 Conditional { buffer { REPLACE CLIP_SQ.inside BY FALSE REPLACE S2.whichChoice BY 0 } } ] } ROUTE PS.translation_changed TO TR_RD.translation ROUTE DS.rotation_changed TO TR_SQ.rotationAngle ROUTE TS1.isActive TO C1.activate ROUTE RTS1.isActive TO RC1.activate ROUTE TSX1.isActive TO CX1.activate ROUTE RTSX1.isActive TO RCX1.activate ROUTE TS2.isActive TO C2.activate ROUTE RTS2.isActive TO RC2.activate AT 0 { UPDATE OD [ ObjectDescriptor { objectDescriptorID 5 esDescr [ ES_Descriptor { ES_ID 10 muxInfo MuxInfo { fileName "auxiliary_files/sky.jpg" } } ] } ObjectDescriptor { objectDescriptorID 10 esDescr [ ES_Descriptor { ES_ID 20 muxInfo MuxInfo { fileName "auxiliary_files/logo.jpg" } } ] } ] }