     let scaleSlider = UISlider()
     
     
+    var currentScaleFactor:Float {
+        return IMPPlate(aspect: transformFilter.aspect).scaleFactorFor(model: transformFilter.model)
+    }
+    
+    
+    ///
     ///  Current crop region with the transformation model
     ///
-    ///  - parameter model: transformation model
-    ///
-    ///  - returns: gropped region
-    ///
-    func currentCropRegion(model model: IMPMatrixModel) -> IMPRegion {
-        let scale = IMPPlate(aspect: transformFilter.aspect).scaleFactorFor(model: model)
-        let offset = (1 - scale * transformFilter.scale.x ) / 2
+    var currentCropRegion:IMPRegion {
+        let offset = (1 - currentScaleFactor * transformFilter.scale.x ) / 2
         return IMPRegion(left: offset, right: offset, top: offset, bottom: offset)
     }
     

    ///  Check bounds of inscribed Rectangular
    func checkBounds() {
        
        let model    = transformFilter.model
        let cropQuad = IMPQuad(region:currentCropRegion(model: model), aspect: transformFilter.aspect)
        let offset   = IMPPlate(aspect: transformFilter.aspect).quad(model: model).translation(quad: cropQuad)
        
        animateTranslation(-offset)
    }

        slider.value = 0.5
        rotate(slider)
        
        scaleSlider.value = 0.5
        scale(scaleSlider)
        
        transformFilter.translation = float2(0)
        
        warpFilter.sourceQuad = IMPQuad()
