4x3

Static variables

staticread onlyback:Matrix4x3


>>> ({
... Matrix4x3.back == new Matrix4x3({ a: 0., b: 0., c: 0.,  d: 0.
...                                   , e: 0., f: 0., g: 0.,  h: 0.
...                                   , i: 0., j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybackBottomLeft:Matrix4x3


>>> ({
... Matrix4x3.backBottomLeft == new Matrix4x3({ a: -1., b: 0.,  c: 0.,  d: 0.
...                                           , e: 0.,  f: -1., g: 0.,  h: 0.
...                                           , i: 0.,  j: 0.,  k: -1., l: 0. } );
... }) == true

staticread onlybackBottomRight:Matrix4x3


>>> ({
... Matrix4x3.backBottomRight == new Matrix4x3({ a: 1., b: 0.,  c: 0.,  d: 0.
...                                            , e: 0., f: -1., g: 0.,  h: 0.
...                                            , i: 0., j: 0.,  k: -1., l: 0. } );
... }) == true

staticread onlybackEast:Matrix4x3


>>> ({
... Matrix4x3.backEast == new Matrix4x3({ a: 1., b: 0., c: 0.,  d: 0.
...                                     , e: 0., f: 0., g: 0.,  h: 0.
...                                     , i: 0., j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybackNorth:Matrix4x3


>>> ({
... Matrix4x3.backNorth == new Matrix4x3({ a: 0., b: 0., c: 0.,  d: 0.
...                                      , e: 0., f: 1., g: 0.,  h: 0.
...                                      , i: 0., j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybackSouth:Matrix4x3


>>> ({
... Matrix4x3.backSouth == new Matrix4x3({ a: 0., b: 0.,  c: 0.,  d: 0.
...                                      , e: 0., f: -1., g: 0.,  h: 0.
...                                      , i: 0., j: 0.,  k: -1., l: 0. } );
... }) == true

staticread onlybackTopLeft:Matrix4x3


>>> ({
... Matrix4x3.backTopLeft == new Matrix4x3({ a: -1., b: 0., c: 0., d: 0.
...                                        , e: 0.,  f: 1., g: 0., h: 0.
...                                        , i: 0.,  j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybackTopRight:Matrix4x3


>>> ({
... Matrix4x3.backTopRight == new Matrix4x3({ a: 1., b: 0., c: 0.,  d: 0.
...                                         , e: 0., f: 1., g: 0.,  h: 0.
...                                         , i: 0., j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybackWest:Matrix4x3


>>> ({
... Matrix4x3.backWest == new Matrix4x3({ a: -1., b: 0., c: 0.,  d: 0.
...                                     , e: 0.,  f: 0., g: 0.,  h: 0.
...                                     , i: 0.,  j: 0., k: -1., l: 0. } );
... }) == true

staticread onlybottomLeft:Matrix4x3


>>> ({
... Matrix4x3.bottomLeft == new Matrix4x3({ a: -1., b: 0.,  c: 0., d: 0.
...                                         , e: 0.,  f: -1., g: 0., h: 0.
...                                         , i: 0.,  j: 0.,  k: 0., l: 0. } );
... }) == true

staticread onlybottomRight:Matrix4x3


>>> ({
... Matrix4x3.bottomRight == new Matrix4x3({ a: 1., b: 0.,  c: 0., d: 0.
...                                          , e: 0., f: -1., g: 0., h: 0.
...                                          , i: 0., j: 0.,  k: 0., l: 0. } );
... }) == true

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

staticread onlycounting:Matrix4x3


>>> ({
... Matrix4x3.counting == new Matrix4x3({ a: 1., b: 2.,  c: 3.,  d: 4.
...                                     , e: 5., f: 6.,  g: 7.,  h: 8.
...                                     , i: 9., j: 10., k: 11., l: 12. } );
... }) == true

staticread onlyeast:Matrix4x3


>>> ({
... Matrix4x3.east == new Matrix4x3({ a: 1., b: 0., c: 0., d: 0.
...                                   , e: 0., f: 0., g: 0., h: 0.
...                                   , i: 0., j: 0., k: 0., l: 0. } );
... }) == true

staticread onlyfront:Matrix4x3


>>> ({
... Matrix4x3.front == new Matrix4x3({ a: 0., b: 0., c: 0., d: 0.
...                                  , e: 0., f: 0., g: 0., h: 0.
...                                  , i: 0., j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyfrontBottomLeft:Matrix4x3


>>> ({
... Matrix4x3.frontBottomLeft == new Matrix4x3({ a: -1., b: 0.,  c: 0., d: 0.
...                                            , e: 0.,  f: -1., g: 0., h: 0.
...                                            , i: 0.,  j: 0.,  k: 1., l: 0. } );
... }) == true

staticread onlyfrontBottomRight:Matrix4x3


>>> ({
... Matrix4x3.frontBottomRight == new Matrix4x3({ a: 1., b: 0.,  c: 0., d: 0.
...                                             , e: 0., f: -1., g: 0., h: 0.
...                                             , i: 0., j: 0.,  k: 1., l: 0. } );
... }) == true

staticread onlyfrontEast:Matrix4x3


>>> ({
... Matrix4x3.frontEast == new Matrix4x3({ a: 1., b: 0., c: 0., d: 0.
...                                      , e: 0., f: 0., g: 0., h: 0.
...                                      , i: 0., j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyfrontNorth:Matrix4x3


>>> ({
... Matrix4x3.frontNorth == new Matrix4x3({ a: 0., b: 0., c: 0., d: 0.
...                                       , e: 0., f: 1., g: 0., h: 0.
...                                       , i: 0., j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyfrontSouth:Matrix4x3


>>> ({
... Matrix4x3.frontSouth == new Matrix4x3({ a: 0., b: 0.,  c: 0., d: 0.
...                                       , e: 0., f: -1., g: 0., h: 0.
...                                       , i: 0., j: 0.,  k: 1., l: 0. } );
... }) == true

staticread onlyfrontTopLeft:Matrix4x3


>>> ({
... Matrix4x3.frontTopLeft == new Matrix4x3({ a: -1., b: 0., c: 0., d: 0.
...                                         , e: 0.,  f: 1., g: 0., h: 0.
...                                         , i: 0.,  j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyfrontTopRight:Matrix4x3


>>> ({
... Matrix4x3.frontTopRight == new Matrix4x3({ a: 1., b: 0., c: 0., d: 0.
...                                          , e: 0., f: 1., g: 0., h: 0.
...                                          , i: 0., j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyfrontWest:Matrix4x3


>>> ({
... Matrix4x3.frontWest == new Matrix4x3({ a: -1., b: 0., c: 0., d: 0.
...                                      , e: 0.,  f: 0., g: 0., h: 0.
...                                      , i: 0.,  j: 0., k: 1., l: 0. } );
... }) == true

staticread onlyminus1:Matrix4x3


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

staticread onlynorth:Matrix4x3


>>> ({
... Matrix4x3.north == new Matrix4x3({ a: 0., b: 0., c: 0., d: 0.
...                                    , e: 0., f: 1., g: 0., h: 0.
...                                    , i: 0., j: 0., k: 0., l: 0. } );
... }) == true

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

staticread onlyself:Matrix4x3

staticread onlysouth:Matrix4x3


>>> ({
... Matrix4x3.south == new Matrix4x3({ a: 0., b: 0.,  c: 0., d: 0.
...                                    , e: 0., f: -1., g: 0., h: 0.
...                                    , i: 0., j: 0.,  k: 0., l: 0. } );
... }) == true

staticread onlytopLeft:Matrix4x3


>>> ({
... Matrix4x3.topLeft == new Matrix4x3({ a: -1., b: 0., c: 0., d: 0.
...                                      , e: 0.,  f: 1., g: 0., h: 0.
...                                      , i: 0.,  j: 0., k: 0., l: 0. } );
... }) == true

staticread onlytopRight:Matrix4x3


>>> ({
... Matrix4x3.topRight == new Matrix4x3({ a: 1., b: 0., c: 0., d: 0.
...                                       , e: 0., f: 1., g: 0., h: 0.
...                                       , i: 0., j: 0., k: 0., l: 0. } );
... }) == true

staticread onlyunit:Matrix4x3


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

staticread onlywest:Matrix4x3


>>> ({
... Matrix4x3.west == new Matrix4x3({ a: -1., b: 0., c: 0., d: 0.
...                                   , e: 0.,  f: 0., g: 0., h: 0.
...                                   , i: 0.,  j: 0., k: 0., l: 0. } );
... }) == true

staticread onlyzero:Matrix4x3


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

Static methods

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


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

staticinlineapplyInverseRotation(this:Mat4x3, p:Matrix1x4):Matrix1x4

Untested - check that this matrix is not transposed

staticinlineapplyRotation(this:Mat4x3, p:Matrix1x4):Matrix1x4

Untested - check that this matrix is not transposed

staticinlineclone(this:Mat4x3):Matrix4x3


>>> Matrix4x3.counting == Matrix4x3.counting.clone() 

staticinlinecofactor(this:Mat4x3, a:Float, b:Float, c:Float, d:Float, e:Float, f:Float, g:Float, h:Float, i:Float):Float

staticinlinedet(this:Mat4x3):Float

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


>>> ({ 
... var a = new Matrix4x3({ a: 1., b: 2., c: 3., d: 4.
...                       , e: 5., f: 6., g: 7., h: 8.
...                       , i: 9., j:10., k:11., l:12. });
... var b = new Matrix4x3({ a: 1., b: 2., c: 3., d: 4.
...                       , e: 5., f: 6., g: 7., h: 8.
...                       , i: 9., j:10., k:11., l:12. });
... a == b; }) == true

@:fromstaticinlinefrom2x2(m2:Matrix2x2):Matrix4x3

@:fromstaticinlinefrom3x3(m3:Matrix3x3):Matrix4x3

@:fromstaticinlinefromArr(arr:Array<Float>):Matrix4x3

@:fromstaticinlinefromVec(v:Vector<Float>):Matrix4x3

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

staticinlineinverse(this:Mat4x3):Matrix4x3

staticinlineinvertNormalizedRotation(this:Mat4x3):Matrix4x3

Untested - check that this matrix is not transposed

staticinlineiterator(this:Mat4x3):ArrayIterator<Float>


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

staticinlinemakeViewFromOrientation(this:Mat4x3):Matrix4x3

Untested - check that this matrix is not transposed

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

staticinlinenegate(this:Mat4x3):Matrix4x3

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


>>> ({ 
... var a = Matrix4x3.counting;
... var b = -a;
... b == new Matrix4x3({ a: -1., b: -2., c: -3., d: -4.
...                    , e: -5., f: -6., g: -7., h: -8
...                    , i: -9., j: -10., k: -11., l: -12. }); }) == true

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


>>> ({ 
... var a = new Matrix4x3({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:12. });
... var b = new Matrix4x3({ a: 1., b: 2., c: 3., d: 4., e: 5., f: 6., g: 7., h: 8., i: 9., j:10., k:11., l:11. });
... a != b; }) == true

staticinlineorientation(pos:Matrix1x4, dir:Matrix1x4, up:Matrix1x4):Matrix4x3

Untested - check that this matrix is not transposed

staticinlineorthonormalizeRotation(this:Mat4x3):Mat4x3

Untested - check that this matrix is not transposed

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

staticinlineradianX(theta:Float):Matrix4x3

staticinlineradianY(theta:Float):Matrix4x3

staticinlineradianZ(theta:Float):Matrix4x3

staticinlinereflectX(this:Mat4x3):Matrix4x3

staticinlinereflectY(this:Mat4x3):Matrix4x3

staticinlinereflectZ(this:Mat4x3):Matrix4x3

staticinlinereflection(a:Float, b:Float, c:Float):Matrix4x3

staticinlinereflectionNonOrigin(this:Mat4x3, a:Float, b:Float, c:Float, d:Float):Matrix4x3

A reflection about a line or plane that does not go through the origin is not a linear transformation — it is an affine transformation — as a 4x4 affine transformation matrix, it can be expressed as follows (assuming the normal is a unit vector)

staticinlinereflectionX():Matrix4x3

staticinlinereflectionY():Matrix4x3

staticinlinereflectionZ():Matrix4x3

staticinlinerotateX(this:Mat4x3, theta:Float):Matrix4x3

staticinlinerotateY(this:Mat4x3, theta:Float):Matrix4x3

staticinlinerotateZ(this:Mat4x3, theta:Float):Matrix4x3

staticinlinerotationX(theta:Float):Matrix4x3

staticinlinerotationY(theta:Float):Matrix4x3

staticinlinerotationZ(theta:Float):Matrix4x3

staticinlinescalar(s:Float):Matrix4x3

staticinlinescalarX(x:Float):Matrix4x3

staticinlinescalarXY(x:Float, y:Float):Matrix4x3

staticinlinescalarXYZ(x:Float, y:Float, z:Float):Matrix4x3

staticinlinescalarY(y:Float):Matrix4x3

staticinlinescalarZ(z:Float):Matrix4x3

staticinlinescale(this:Mat4x3, s:Float):Matrix4x3

staticinlinescaleX(this:Mat4x3, x:Float):Matrix4x3

staticinlinescaleXY(this:Mat4x3, x:Float, y:Float):Matrix4x3

staticinlinescaleXYZ(this:Mat4x3, x:Float, y:Float, z:Float):Matrix4x3

staticinlinescaleY(this:Mat4x3, y:Float):Matrix4x3

staticinlinescaleZ(this:Mat4x3, z:Float):Matrix4x3

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

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


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

staticinlinesx(x:Float):Matrix4x3

staticinlinesxy(x:Float, y:Float):Matrix4x3

staticinlinesxyz(x:Float, y:Float, z:Float):Matrix4x3

staticinlinesy(y:Float):Matrix4x3

staticinlinesz(z:Float):Matrix4x3

@:tostaticinlineto2x2(this:Mat4x3):Matrix2x2

@:tostaticinlineto3x3(this:Mat4x3):Matrix3x3

@:tostaticinlinetoAffineMatrix(this:Mat4x3):TAffineMatrix

@:tostaticinlinetoArray(this:Mat4x3):Array<Float>

@:tostaticinlinetoNumbered(this:Mat4x3):Tmatrix4x4numbered

@:tostaticinlinetoVector(this:Mat4x3):Vector<Float>

staticinlinetranslateX(this:Mat4x3, x:Float):Matrix4x3

staticinlinetranslateXY(this:Mat4x3, x:Float, y:Float):Matrix4x3

staticinlinetranslateXYZ(this:Mat4x3, x:Float, y:Float, z:Float):Matrix4x3

staticinlinetranslateY(this:Mat4x3, y:Float):Matrix4x3

staticinlinetranslateZ(this:Mat4x3, z:Float):Matrix4x3

staticinlinetranslationX(x:Float):Matrix4x3

staticinlinetranslationXY(x:Float, y:Float):Matrix4x3

staticinlinetranslationXYZ(x:Float, y:Float, z:Float):Matrix4x3

staticinlinetranslationY(y:Float):Matrix4x3

staticinlinetranslationZ(z:Float):Matrix4x3

staticinlinetx(x:Float):Matrix4x3

staticinlinetxy(x:Float, y:Float):Matrix4x3

staticinlinetxyz(x:Float, y:Float, z:Float):Matrix4x3

staticinlinety(y:Float):Matrix4x3

staticinlinetz(z:Float):Matrix4x3

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

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