----------------------------------------------- scale cubes/points ------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
{-                                           Over view
Allow the scaling of a shape. This can be done on all 3 axis at once, or on a single axis. So far only the z-axis scale has been created.
 -}


--used to change just the z axis of a CornerPoints
scaleCornerPointsZ :: Double -> CornerPoints -> CornerPoints
scaleCornerPointsZ scaleFactor (CubePoints f1 f2 f3 f4 b1 b2 b3 b4)  = 
    CubePoints 
        {
            f1=scalePointZ f1 scaleFactor,
            f2=scalePointZ f2 scaleFactor,
            f3=scalePointZ f3 scaleFactor,
            f4=scalePointZ f4 scaleFactor,
            b1=scalePointZ b1 scaleFactor,
            b2=scalePointZ b2 scaleFactor,
            b3=scalePointZ b3 scaleFactor,
            b4=scalePointZ b4 scaleFactor
        }
scaleCornerPointsZ :: Double -> CornerPoints -> CornerPoints
scaleCornerPointsZ scaleFactor (CubePoints f1 f2 f3 f4 b1 b2 b3 b4)  = 
    CubePoints 
        {
            f1=scalePointZ f1 scaleFactor,
            f2=scalePointZ f2 scaleFactor,
            f3=scalePointZ f3 scaleFactor,
            f4=scalePointZ f4 scaleFactor,
            b1=scalePointZ b1 scaleFactor,
            b2=scalePointZ b2 scaleFactor,
            b3=scalePointZ b3 scaleFactor,
            b4=scalePointZ b4 scaleFactor
        }
scaleCornerPointsZ scaleFactor (CubePoints f1 f2 f3 f4 b1 b2 b3 b4)  = 
    CubePoints 
        {
            f1=scalePointZ f1 scaleFactor,
            f2=scalePointZ f2 scaleFactor,
            f3=scalePointZ f3 scaleFactor,
            f4=scalePointZ f4 scaleFactor,
            b1=scalePointZ b1 scaleFactor,
            b2=scalePointZ b2 scaleFactor,
            b3=scalePointZ b3 scaleFactor,
            b4=scalePointZ b4 scaleFactor
        }