     private static var scale:Vector3D = new Vector3D();
     private static var rotation:Vector3D = new Vector3D();
     private static var position:Vector3D = new Vector3D();
+
+    private static var offsetRotation:Vector3D = new Vector3D();
+    private static var offsetTranslation:Vector3D = new Vector3D();
+    private static var offsetScale:Vector3D = new Vector3D();
 
     //--------------------------------------------------------------------------
     //

        var tmpScale:Vector3D;
        var tmpPosition:Vector3D;
        var tmpRotation:Vector3D;
        
        // We override this function because we want to apply all values
        // simultaneously to perform our composite transform operation


package spark.effects.supportClasses
{
import flash.display.DisplayObject;
import flash.geom.PerspectiveProjection;
import flash.geom.Point;
import flash.geom.Vector3D;

import mx.core.ILayoutElement;
import mx.core.mx_internal;
import spark.effects.animation.Animation;
import mx.effects.Effect;
import spark.effects.Animate;
import spark.effects.easing.IEaser;
import spark.effects.easing.Linear;

import mx.core.UIComponent;

import spark.effects.KeyFrame;
import spark.effects.MotionPath;
