4x4

Static variables

staticread only_1_16:Matrix4x4

Used for testing

({

... Matrix4x4._1_16 == new Matrix4x4({ a: 1., b: 2., c: 3., d: 4. ... , e: 5., f: 6., g: 7., h: 8. ... , i: 9., j: 10., k: 11., l: 12. ... , m: 13., n: 14., o: 15., p: 16. } ); ... }) == true

@:value(4)staticfinalinlineread onlycolumns:Int = 4

staticread onlycounting:Matrix4x4


>>> ({
... Matrix4x4.counting == new Matrix4x4({ a: 1., b: 2., c: 3., d: 4.
...                                     , e: 5., f: 6., g: 7., h: 8.
...                                     , i: 9., j: 10., k: 11., l: 12.
...                                     , m: 13., n: 14., o: 15., p: 16. } );
... }) == true

staticread onlyminus1:Matrix4x4


>>> ({
... Matrix4x4.minus1 == new Matrix4x4({ a: -1., b: 0., c: 0., d: 0.
...                                   , e: 0., f: -1., g: 0., h: 0.
...                                   , i: 0., j: 0., k: -1., l: 0. 
...                                   , m: 0., n: 0., o: 0., p: -1. } );
... }) == true

@:value(4)staticfinalinlineread onlyrows:Int = 4

staticread onlyself:Matrix4x4

staticread onlyunit:Matrix4x4


>>> ({ 
... Matrix4x4.unit == new Matrix4x4({ a: 1., b: 0., c: 0., d: 0.
...                                   , e: 0., f: 1., g: 0., h: 0.
...                                   , i: 0., j: 0., k: 1., l: 0.
...                                   , m: 0., n: 0., o: 0., p: 1. } );
... }) == true

staticread onlyzero:Matrix4x4


>>> ({
... Matrix4x4.zero == new Matrix4x4({ a: 0., b: 0., c: 0., d: 0.
...                                   , e: 0., f: 0., g: 0., h: 0.
...                                   , i: 0., j: 0., k: 0., l: 0.
...                                   , m: 0., n: 0., o: 0., p: 0. } );
... }) == true

Static methods

@:op(A + B)staticinlineadd(m0:Matrix4x4, m1:Matrix4x4):Matrix4x4


>>> ({ 
... var a = Matrix4x4.unit;
... a + a == new Matrix4x4( { a: 2., b: 0., c: 0., d: 0.
...                         , e: 0., f: 2., g: 0., h: 0.
...                         , i: 0., j: 0., k: 2., l: 0. 
...                         , m: 0., n: 0., o: 0., p: 2. } ); }) == true

staticinlineclone(this:Mat4x4):Matrix4x4


>>> Matrix4x4.counting == Matrix4x4.counting.clone() 

staticinlinedelta(this:Mat4x4, x:Float, y:Float):Matrix4x4

@:op(A == B)staticinlineequal(a:Matrix4x4, b:Matrix4x4):Bool


>>> ({ 
... var a = new Matrix4x4({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:12., m:13.,n:14.,o:15.,p:16. });
... var b = new Matrix4x4({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:12., m:13.,n:14.,o:15.,p:16. });
... a == b; }) == true

staticinlinegetXY(this:Mat4x4, x:Int, y:Int):Float

staticinlineiterator(this:Mat4x4):ArrayIterator<Float>


>>> ({ 
... var m = Matrix4x4.counting;
... var arr = new Array();
... for( i in m ){
...   arr.push(i); 
... }
... [1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,13.,14.,15.,16.].toString() == arr.toString(); }) == true

@:fromstaticinlinematrix4x3(m:Matrix4x3):Matrix4x4

@:op(A * B)staticinlinemultiply(r:Matrix4x4, s:Matrix4x4):Matrix4x4

staticinlinenegate(this:Mat4x4):Matrix4x4

@:op(-A)staticinlinenegating(a:Matrix4x4):Matrix4x4


>>> ({ 
... var a = Matrix4x4.counting;
... var b = -a;
... b == new Matrix4x4({ a: -1., b: -2., c: -3., d: -4.
...                    , e: -5., f: -6., g: -7., h: -8
...                    , i: -9., j: -10., k: -11., l: -12.
...                    , m: -13., n: -14., o:-15., p: -16. });
... }) == true

@:op(A != B)staticinlinenotEqual(a:Matrix4x4, b:Matrix4x4):Bool


>>> ({ 
... var a = new Matrix4x4({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:12. , m:13.,n:14.,o:15.,p:16.});
... var b = new Matrix4x4({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:12., m:13.,n:14.,o:15.,p:15. });
... a != b; }) == true

staticinlinepretty(this:Mat4x4, prec:Int):String

@:op(A / B)staticinlinescaleDivide(m:Matrix4x4, p:Matrix1x4):Matrix4x4

@:op(A * B)staticinlinescaleMultiply1(p:Matrix1x4, m:Matrix4x4):Matrix4x4

@:op(A * B)staticinlinescaleMultiply2(m:Matrix4x4, p:Matrix1x4):Matrix4x4

staticinlinesetXY(this:Mat4x4, x:Int, y:Int, v:Float):Float

@:op(A - B)staticinlinesub(m0:Matrix4x4, m1:Matrix4x4):Matrix4x4


>>> ({ 
... var a = Matrix4x4.unit;
... a - a == Matrix4x4.zero; }) == true

staticinlinetranspose(this:Mat4x4):Matrix4x4

staticinlineupdateWebGL(this:Mat4x4, arr:Float32Array):Float32Array

staticinlineupdateWebGL_(this:Mat4x4, arr:Float32Array):Float32Array