コード例 #1
0
ファイル: lwf_utility.cs プロジェクト: kevbaker/lwf-demo
        public static void InvertMatrix(Matrix dst, Matrix src)
        {
            float dt = src.scaleX * src.scaleY - src.skew0 * src.skew1;

            if (dt != 0.0f)
            {
                dst.scaleX     = src.scaleY / dt;
                dst.skew0      = -src.skew0 / dt;
                dst.translateX = (src.skew0 * src.translateY -
                                  src.translateX * src.scaleY) / dt;
                dst.skew1      = -src.skew1 / dt;
                dst.scaleY     = src.scaleX / dt;
                dst.translateY = (src.translateX * src.skew1 -
                                  src.scaleX * src.translateY) / dt;
            }
            else
            {
                dst.Clear();
            }
        }
コード例 #2
0
ファイル: lwf_utility.cs プロジェクト: 99corps/lwf
 public static void InvertMatrix(Matrix dst, Matrix src)
 {
     float dt = src.scaleX * src.scaleY - src.skew0 * src.skew1;
     if (dt != 0.0f) {
     dst.scaleX = src.scaleY / dt;
     dst.skew0 = -src.skew0 / dt;
     dst.translateX = (src.skew0 * src.translateY -
         src.translateX * src.scaleY) / dt;
     dst.skew1 = -src.skew1 / dt;
     dst.scaleY = src.scaleX / dt;
     dst.translateY = (src.translateX * src.skew1 -
         src.scaleX * src.translateY) / dt;
     } else {
     dst.Clear();
     }
 }
コード例 #3
0
ファイル: lwf_utility.cs プロジェクト: 99corps/lwf
 public static void CopyMatrix(Matrix dst, Matrix src)
 {
     if (src == null)
     dst.Clear();
     else
     dst.Set(src);
 }
コード例 #4
0
ファイル: lwf_utility.cs プロジェクト: ken-b4u/lwf
 public static Matrix CopyMatrix(Matrix dst, Matrix src)
 {
     if (src == null)
     dst.Clear();
     else
     dst.Set(src);
     return dst;
 }