 
     private static const ZERO_REPLACEMENT_IN_3D:Number = .00000000000001;
     
-    private static var tempTransformCenter:Vector3D;
+    private static var tempLocalPosition:Vector3D;
     
     /**
      * @private

     *  @productversion Flex 4
     */
    public function transformPointToParent(propertyIs3D:Boolean,
        transformCenter:Vector3D, currentPosition:Vector3D,
        currentPostLayoutPosition:Vector3D):void
    {
        var computedCenterV:Vector3D;
        var token:Object = {};
        tempTransformCenter = 
            transformCenter ?
            transformCenter :
            new Vector3D();
                
        if (is3D || propertyIs3D) 
        {
            if (currentPosition != null)
            {
                var layoutCenterV:Vector3D = transformVector(layoutMatrix3D,tempTransformCenter); 
                currentPosition.x = layoutCenterV.x;
                currentPosition.y = layoutCenterV.y;
                currentPosition.z = layoutCenterV.z;
            } 
            
            if (currentPostLayoutPosition != null)
            {           
                computedCenterV = transformVector(computedMatrix3D,tempTransformCenter);
                currentPostLayoutPosition.x = computedCenterV.x;
                currentPostLayoutPosition.y = computedCenterV.y;
                currentPostLayoutPosition.z = computedCenterV.z;
            }
        }
        else
        {
            var centerP:Point = new Point(tempTransformCenter.x, 
                tempTransformCenter.y);
            if (currentPosition != null)
            {
            
                var currentPositionPt:Point = layoutMatrix.transformPoint(centerP);
                currentPosition.x = currentPositionPt.x;
                currentPosition.y = currentPositionPt.y;
                currentPosition.z = 0;
            }
            
            if (currentPostLayoutPosition != null)
            {
                currentPositionPt = computedMatrix.transformPoint(centerP);
                currentPostLayoutPosition.x = currentPositionPt.x;
                currentPostLayoutPosition.y = currentPositionPt.y;
                currentPostLayoutPosition.z = 0;
            }
        }
    }

                        

    /**
     * A utility method to transform a point specified in the local
     * coordinates of this object to its location in the object's parent's 
     * coordinates. The pre-layout and post-layout result will be set on 
     * the <code>position</code> and <code>postLayoutPosition</code>
     * parameters, if they are non-null.
     * 
     * @param propertyIs3D A boolean reflecting whether the calculation needs
     * to take into account the 3D matrix of the object.
     * @param localPoint The point to be transformed, specified in the
     * local coordinates of the object.
     * @position A Vector3D point that will hold the pre-layout
     * result. If null, the parameter is ignored.
     * @postLayoutPosition A Vector3D point that will hold the post-layout
     * result. If null, the parameter is ignored.
     * 
     *  @langversion 3.0
     *  @playerversion Flash 10
