Example #1
0
        public static global::glm.Mat2 invert(global::glm.Mat2 src, global::glm.Mat2 dest)
        {
            double det = ((src._00 * src._11) - (src._10 * src._01));

            if ((global::System.Math.Abs(((double)(det))) < global::glm.GLM.EPSILON))
            {
                throw global::haxe.lang.HaxeException.wrap("determinant is too small");
            }

            double invdet = (1.0 / det);

            global::glm.Mat2 _s = src;
            if ((src == dest))
            {
                global::glm.Mat2 dest1 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>));
                dest1._00 = src._00;
                dest1._10 = src._10;
                dest1._01 = src._01;
                dest1._11 = src._11;
                _s        = dest1;
            }

            dest._00 = (_s._11 * invdet);
            dest._10 = (-(_s._10) * invdet);
            dest._01 = (-(_s._01) * invdet);
            dest._11 = (_s._00 * invdet);
            return(dest);
        }
Example #2
0
 public static global::glm.Mat2 copy(global::glm.Mat2 src, global::glm.Mat2 dest)
 {
     dest._00 = src._00;
     dest._10 = src._10;
     dest._01 = src._01;
     dest._11 = src._11;
     return(dest);
 }
Example #3
0
        public static global::glm.Vec2 multVec(global::glm.Mat2 m, global::glm.Vec2 v, global::glm.Vec2 dest)
        {
            double x = v.x;
            double y = v.y;

            dest.x = ((m._00 * x) + (m._10 * y));
            dest.y = ((m._01 * x) + (m._11 * y));
            return(dest);
        }
Example #4
0
        public static global::glm.Mat2 transpose(global::glm.Mat2 src, global::glm.Mat2 dest)
        {
            double src_r1c0 = src._01;

            dest._00 = src._00;
            dest._01 = src._10;
            dest._10 = src_r1c0;
            dest._11 = src._11;
            return(dest);
        }
Example #5
0
 public static global::glm.Mat2 identity(global::glm.Mat2 dest)
 {
     unchecked {
         dest._00 = ((double)(1));
         dest._10 = ((double)(0));
         dest._01 = ((double)(0));
         dest._11 = ((double)(1));
         return(dest);
     }
 }
Example #6
0
        public static global::glm.Vec2 multVecOp(global::glm.Mat2 m, global::glm.Vec2 v)
        {
            global::glm.Vec2 dest = new global::glm.Vec2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>));
            double           x    = v.x;
            double           y    = v.y;

            dest.x = ((m._00 * x) + (m._10 * y));
            dest.y = ((m._01 * x) + (m._11 * y));
            return(dest);
        }
Example #7
0
        public static void __hx_ctor_glm_Mat2(global::glm.Mat2 __hx_this, global::haxe.lang.Null <double> _r0c0, global::haxe.lang.Null <double> _r0c1, global::haxe.lang.Null <double> _r1c0, global::haxe.lang.Null <double> _r1c1)
        {
            double __temp__r1c111 = ((!(_r1c1.hasValue)) ? (((double)(0))) : ((_r1c1).@value));
            double __temp__r1c010 = ((!(_r1c0.hasValue)) ? (((double)(0))) : ((_r1c0).@value));
            double __temp__r0c19  = ((!(_r0c1.hasValue)) ? (((double)(0))) : ((_r0c1).@value));
            double __temp__r0c08  = ((!(_r0c0.hasValue)) ? (((double)(0))) : ((_r0c0).@value));

            __hx_this._00 = __temp__r0c08;
            __hx_this._01 = __temp__r1c010;
            __hx_this._10 = __temp__r0c19;
            __hx_this._11 = __temp__r1c111;
        }
Example #8
0
        public static global::glm.Mat2 multMatOp(global::glm.Mat2 a, global::glm.Mat2 b)
        {
            global::glm.Mat2 dest = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>));
            global::glm.Mat2 _a   = null;
            global::glm.Mat2 _b   = null;
            if ((dest == a))
            {
                global::glm.Mat2 dest1 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>));
                dest1._00 = a._00;
                dest1._10 = a._10;
                dest1._01 = a._01;
                dest1._11 = a._11;
                _a        = dest1;
                _b        = b;
            }
            else if ((dest == b))
            {
                _a = a;
                global::glm.Mat2 dest2 = new global::glm.Mat2(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>));
                dest2._00 = b._00;
                dest2._10 = b._10;
                dest2._01 = b._01;
                dest2._11 = b._11;
                _b        = dest2;
            }
            else
            {
                _a = a;
                _b = b;
            }

            dest._00 = ((_a._00 * _b._00) + (_a._10 * _b._01));
            dest._10 = ((_a._00 * _b._10) + (_a._10 * _b._11));
            dest._01 = ((_a._01 * _b._00) + (_a._11 * _b._01));
            dest._11 = ((_a._01 * _b._10) + (_a._11 * _b._11));
            return(dest);
        }
Example #9
0
 public static double determinant(global::glm.Mat2 src)
 {
     return((src._00 * src._11) - (src._10 * src._01));
 }
Example #10
0
 public bool @equals(global::glm.Mat2 b)
 {
     return(!((((((global::System.Math.Abs(((double)((this._00 - b._00)))) >= global::glm.GLM.EPSILON) || (global::System.Math.Abs(((double)((this._10 - b._10)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._01 - b._01)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._11 - b._11)))) >= global::glm.GLM.EPSILON)))));
 }