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

OrderedGroup {
 children [
  Background2D {
   backColor 1 1 1
  }
  WorldInfo {
   info [
    "This test shows how to apply affine transformations on a rectangle."
    "A graphical object can be moved, rotated or scaled using the Transform2D node."     
    "The object (or objects) to be transformed is (are) placed in the children property of the Transform2D node." 
    "The Transform2D node indicates the transformation from the local coordinate system to the global coordinate system. It applies to any graphical object." 
    "Possible transformations are limited to translation, rotation (including with a center different from the origin) and scaling (including along different axes that original system) using respectively the translation, rotationAngle, center, scale, scaleOrientation." 
    "For skewing, you should see the TransformMatrix2D node." 
    "cf bifs-2D-positioning-transformmatrix2D" 
    "" 
    "GPAC Regression Tests" "$Date: 2007-07-27 09:46:08 $ - $Revision: 1.3 $" 
    "(C) 2002-2006 GPAC Team"]
   title "Apply transformations on local coordinate systems - Transform2D node"
  }
  Transform2D {
   translation -100 150
   children [
    Transform2D {
     children [
      DEF RECT Shape {
       appearance DEF APP Appearance {
        material Material2D {
         emissiveColor 0 0 0
        }
       }
       geometry Rectangle {
        size 150 100
       }
      }
     ]
    }
    Transform2D {
     translation 0 -20
     children [
      Shape {
       appearance DEF TEXTAPP Appearance {
        material Material2D {
         emissiveColor 0 0 0
         filled TRUE
        }
       }
       geometry Text {
        string ["Rectangle" "translation only"]
        fontStyle DEF FS FontStyle {
         justify ["MIDDLE" "MIDDLE"]
         size 12
        }
       }
      }
     ]
    }
   ]
  }
  Transform2D {
   translation 100 0
   children [
    Transform2D {
     scale 1 1.5
     scaleOrientation 1
     children [
      USE RECT
     ]
    }
    Transform2D {
     translation 0 -20
     children [
      Shape {
       appearance USE TEXTAPP
       geometry Text {
        string ["Scale 1.0 1.5" "Scale Orientation 1.0"]
        fontStyle USE FS
       }
      }
     ]
    }
   ]
  }
  Transform2D {
   translation -100 -100
   children [
    Transform2D {
     rotationAngle 1
     scale 1 1.5
     children [
      USE RECT
     ]
    }
    Transform2D {
     translation 0 -20
     children [
      Shape {
       appearance USE TEXTAPP
       geometry Text {
        string ["Scale 1.0 1.5" "rotation 1.0"]
        fontStyle USE FS
       }
      }
     ]
    }
   ]
  }
 ]
}


