InitialObjectDescriptor {
 objectDescriptorID 1
 audioProfileLevelIndication 1
 visualProfileLevelIndication 1
 sceneProfileLevelIndication 1
 graphicsProfileLevelIndication 1
 ODProfileLevelIndication 1
 esDescr [
  ES_Descriptor {
   ES_ID 2
   decConfigDescr DecoderConfigDescriptor {
    streamType 3
    decSpecificInfo BIFSConfig {
     isCommandStream true
     pixelMetric true
     pixelWidth 600
     pixelHeight 400
    }
   }
  }
 ]
}

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info [
    "This shows line texturing with a composite texture using the CompositeTexture2D node using variable width and different line alignment" 
    "" 
    "GPAC Regression Tests" "$Date: 2007-07-27 09:46:07 $ - $Revision: 1.3 $" 
    "(C) 2002-2006 GPAC Team"
   ]
   title "Complex line texturing with the XLineProperties node"
  }
  Transform2D {
   translation 0 150
   children [
    Shape {
     appearance DEF TEXTAPP Appearance {
      material Material2D {
       emissiveColor 0 0 0
       filled TRUE
      }
     }
     geometry Text {
      string ["Line width varying between 0 and 100"]
      fontStyle DEF FS FontStyle {
       justify ["MIDDLE" "MIDDLE"]
       size 20
      }
     }
    }
   ]
  }
  Transform2D {
   translation -140 0
   children [
    Shape {
     appearance Appearance {
      material Material2D {
       lineProps DEF XLP XLineProperties {
        width 20
        textureTransform TextureTransform { scale 8 8}
        texture DEF IM CompositeTexture2D {
         pixelWidth 32
         pixelHeight 32
         children [
          Shape {
           appearance Appearance {
           	material Material2D { emissiveColor 0 1 0 filled TRUE }
           }
           geometry DEF C Circle {
            radius 6
           }
          }
         ]
        }
       }
      }
     }
     geometry Rectangle {
      size 150 150
     }
    }
    Transform2D {
     translation 0 -150
     children [
      Shape {
       appearance USE TEXTAPP
       geometry Text {
        string ["Line centered on shape"]
        fontStyle USE FS
       }
      }
     ]
    }
   ]
  }
  Transform2D {
   translation 160 0
   children [
    Shape {
     appearance Appearance {
      material Material2D {
       lineProps DEF XLP2 XLineProperties {
        isCenterAligned FALSE
        width 0
        texture USE IM
       }
      }
     }
     geometry Rectangle {
      size 150 150
     }
    }
    Transform2D {
     translation 0 -150
     children [
      Shape {
       appearance USE TEXTAPP
       geometry Text {
        string ["Line inside shape"]
        fontStyle USE FS
       }
      }
     ]
    }
   ]
  }
  DEF TS TimeSensor {
   cycleInterval 2
   loop TRUE
  }
  DEF SI ScalarInterpolator {
   key [0 0.5 1]
   keyValue [0 100 0]
  }
  DEF SI2 ScalarInterpolator {
   key [0 0.5 1]
   keyValue [6 10 6]
  }
 ]
}

ROUTE TS.fraction_changed TO SI.set_fraction
ROUTE SI.value_changed TO XLP.width
ROUTE SI.value_changed TO XLP2.width
ROUTE TS.fraction_changed TO SI2.set_fraction
ROUTE SI2.value_changed TO C.radius

