public static global::glm.Mat3 invert(global::glm.Mat3 src, global::glm.Mat3 dest) { double c00 = ((src._11 * src._22) - (src._21 * src._12)); double c01 = ((src._10 * src._22) - (src._20 * src._12)); double c02 = ((src._10 * src._21) - (src._20 * src._11)); double det = (((src._00 * c00) - (src._01 * c01)) + (src._02 * c02)); if ((global::System.Math.Abs(((double)(det))) < global::glm.GLM.EPSILON)) { throw global::haxe.lang.HaxeException.wrap("determinant is too small"); } double c10 = ((src._01 * src._22) - (src._21 * src._02)); double c11 = ((src._00 * src._22) - (src._20 * src._02)); double c12 = ((src._00 * src._21) - (src._20 * src._01)); double c20 = ((src._01 * src._12) - (src._11 * src._02)); double c21 = ((src._00 * src._12) - (src._10 * src._02)); double c22 = ((src._00 * src._11) - (src._10 * src._01)); double invdet = (1.0 / det); dest._00 = (c00 * invdet); dest._01 = (-(c01) * invdet); dest._02 = (c02 * invdet); dest._10 = (-(c10) * invdet); dest._11 = (c11 * invdet); dest._12 = (-(c12) * invdet); dest._20 = (c20 * invdet); dest._21 = (-(c21) * invdet); dest._22 = (c22 * invdet); return(dest); }
public static double determinant(global::glm.Mat3 src) { double c00 = ((src._11 * src._22) - (src._21 * src._12)); double c01 = ((src._10 * src._22) - (src._20 * src._12)); double c02 = ((src._10 * src._21) - (src._20 * src._11)); return(((src._00 * c00) - (src._01 * c01)) + (src._02 * c02)); }
public static global::glm.Vec3 multVec(global::glm.Mat3 m, global::glm.Vec3 v, global::glm.Vec3 dest) { double x = v.x; double y = v.y; double z = v.z; dest.x = (((m._00 * x) + (m._10 * y)) + (m._20 * z)); dest.y = (((m._01 * x) + (m._11 * y)) + (m._21 * z)); dest.z = (((m._02 * x) + (m._12 * y)) + (m._22 * z)); return(dest); }
public static global::glm.Vec3 multVecOp(global::glm.Mat3 m, global::glm.Vec3 v) { global::glm.Vec3 dest = new global::glm.Vec3(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>)); double x = v.x; double y = v.y; double z = v.z; dest.x = (((m._00 * x) + (m._10 * y)) + (m._20 * z)); dest.y = (((m._01 * x) + (m._11 * y)) + (m._21 * z)); dest.z = (((m._02 * x) + (m._12 * y)) + (m._22 * z)); return(dest); }
public static global::glm.Mat3 multMatOp(global::glm.Mat3 a, global::glm.Mat3 b) { global::glm.Mat3 dest = new global::glm.Mat3(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), 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.Mat3 _a = null; global::glm.Mat3 _b = null; if ((dest == a)) { global::glm.Mat3 dest1 = new global::glm.Mat3(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), 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._20 = a._20; dest1._01 = a._01; dest1._11 = a._11; dest1._21 = a._21; dest1._02 = a._02; dest1._12 = a._12; dest1._22 = a._22; _a = dest1; _b = b; } else if ((dest == b)) { _a = a; global::glm.Mat3 dest2 = new global::glm.Mat3(default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), default(global::haxe.lang.Null <double>), 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._20 = b._20; dest2._01 = b._01; dest2._11 = b._11; dest2._21 = b._21; dest2._02 = b._02; dest2._12 = b._12; dest2._22 = b._22; _b = dest2; } else { _a = a; _b = b; } dest._00 = (((_a._00 * _b._00) + (_a._10 * _b._01)) + (_a._20 * _b._02)); dest._10 = (((_a._00 * _b._10) + (_a._10 * _b._11)) + (_a._20 * _b._12)); dest._20 = (((_a._00 * _b._20) + (_a._10 * _b._21)) + (_a._20 * _b._22)); dest._01 = (((_a._01 * _b._00) + (_a._11 * _b._01)) + (_a._21 * _b._02)); dest._11 = (((_a._01 * _b._10) + (_a._11 * _b._11)) + (_a._21 * _b._12)); dest._21 = (((_a._01 * _b._20) + (_a._11 * _b._21)) + (_a._21 * _b._22)); dest._02 = (((_a._02 * _b._00) + (_a._12 * _b._01)) + (_a._22 * _b._02)); dest._12 = (((_a._02 * _b._10) + (_a._12 * _b._11)) + (_a._22 * _b._12)); dest._22 = (((_a._02 * _b._20) + (_a._12 * _b._21)) + (_a._22 * _b._22)); return(dest); }
public static global::glm.Mat3 copy(global::glm.Mat3 src, global::glm.Mat3 dest) { dest._00 = src._00; dest._10 = src._10; dest._20 = src._20; dest._01 = src._01; dest._11 = src._11; dest._21 = src._21; dest._02 = src._02; dest._12 = src._12; dest._22 = src._22; return(dest); }
public static global::glm.Mat3 identity(global::glm.Mat3 dest) { unchecked { dest._00 = ((double)(1)); dest._10 = ((double)(0)); dest._20 = ((double)(0)); dest._01 = ((double)(0)); dest._11 = ((double)(1)); dest._21 = ((double)(0)); dest._02 = ((double)(0)); dest._12 = ((double)(0)); dest._22 = ((double)(1)); return(dest); } }
public static global::glm.Mat3 transpose(global::glm.Mat3 src, global::glm.Mat3 dest) { double src_r1c0 = src._01; double src_r2c0 = src._02; double src_r2c1 = src._12; dest._00 = src._00; dest._01 = src._10; dest._02 = src._20; dest._10 = src_r1c0; dest._11 = src._11; dest._12 = src._21; dest._20 = src_r2c0; dest._21 = src_r2c1; dest._22 = src._22; return(dest); }
public static void __hx_ctor_glm_Mat3(global::glm.Mat3 __hx_this, global::haxe.lang.Null <double> _r0c0, global::haxe.lang.Null <double> _r0c1, global::haxe.lang.Null <double> _r0c2, global::haxe.lang.Null <double> _r1c0, global::haxe.lang.Null <double> _r1c1, global::haxe.lang.Null <double> _r1c2, global::haxe.lang.Null <double> _r2c0, global::haxe.lang.Null <double> _r2c1, global::haxe.lang.Null <double> _r2c2) { double __temp__r2c220 = ((!(_r2c2.hasValue)) ? (((double)(0))) : ((_r2c2).@value)); double __temp__r2c119 = ((!(_r2c1.hasValue)) ? (((double)(0))) : ((_r2c1).@value)); double __temp__r2c018 = ((!(_r2c0.hasValue)) ? (((double)(0))) : ((_r2c0).@value)); double __temp__r1c217 = ((!(_r1c2.hasValue)) ? (((double)(0))) : ((_r1c2).@value)); double __temp__r1c116 = ((!(_r1c1.hasValue)) ? (((double)(0))) : ((_r1c1).@value)); double __temp__r1c015 = ((!(_r1c0.hasValue)) ? (((double)(0))) : ((_r1c0).@value)); double __temp__r0c214 = ((!(_r0c2.hasValue)) ? (((double)(0))) : ((_r0c2).@value)); double __temp__r0c113 = ((!(_r0c1.hasValue)) ? (((double)(0))) : ((_r0c1).@value)); double __temp__r0c012 = ((!(_r0c0.hasValue)) ? (((double)(0))) : ((_r0c0).@value)); __hx_this._00 = __temp__r0c012; __hx_this._01 = __temp__r1c015; __hx_this._02 = __temp__r2c018; __hx_this._10 = __temp__r0c113; __hx_this._11 = __temp__r1c116; __hx_this._12 = __temp__r2c119; __hx_this._20 = __temp__r0c214; __hx_this._21 = __temp__r1c217; __hx_this._22 = __temp__r2c220; }
public bool @equals(global::glm.Mat3 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._20 - b._20)))) >= 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)) || (global::System.Math.Abs(((double)((this._21 - b._21)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._02 - b._02)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._12 - b._12)))) >= global::glm.GLM.EPSILON)) || (global::System.Math.Abs(((double)((this._22 - b._22)))) >= global::glm.GLM.EPSILON))))); }