UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

769 lines (328 loc) 7.93 kB
<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [rc-js-util](./rc-js-util.md) &gt; [Mat3](./rc-js-util.mat3.md) ## Mat3 class Row major 3x3 matrix. **Signature:** ```typescript export declare abstract class Mat3<TArray extends TTypedArray> extends ATypedArrayTuple<9, TArray> ``` **Extends:** [ATypedArrayTuple](./rc-js-util.atypedarraytuple.md)<!-- -->&lt;9, TArray&gt; ## Remarks See static properties for constructors. Instances are not an extension of this class, but of the static members. ## Properties <table><thead><tr><th> Property </th><th> Modifiers </th><th> Type </th><th> Description </th></tr></thead> <tbody><tr><td> ["0"](./rc-js-util.mat3._0_.md) </td><td> </td><td> number </td><td> c1r1 </td></tr> <tr><td> ["1"](./rc-js-util.mat3._1_.md) </td><td> </td><td> number </td><td> c2r1 </td></tr> <tr><td> ["2"](./rc-js-util.mat3._2_.md) </td><td> </td><td> number </td><td> c3r1 </td></tr> <tr><td> ["3"](./rc-js-util.mat3._3_.md) </td><td> </td><td> number </td><td> c1r2 </td></tr> <tr><td> ["4"](./rc-js-util.mat3._4_.md) </td><td> </td><td> number </td><td> c2r2 </td></tr> <tr><td> ["5"](./rc-js-util.mat3._5_.md) </td><td> </td><td> number </td><td> c3r2 </td></tr> <tr><td> ["6"](./rc-js-util.mat3._6_.md) </td><td> </td><td> number </td><td> c1r3 </td></tr> <tr><td> ["7"](./rc-js-util.mat3._7_.md) </td><td> </td><td> number </td><td> c2r3 </td></tr> <tr><td> ["8"](./rc-js-util.mat3._8_.md) </td><td> </td><td> number </td><td> c3r3 </td></tr> <tr><td> [constructor](./rc-js-util.mat3.constructor.md) </td><td> </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;TArray&gt; </td><td> </td></tr> <tr><td> [constructors](./rc-js-util.mat3.constructors.md) </td><td> `protected` `static` </td><td> Map&lt;import("../t-typed-array-ctor.js").[TFullSetTypedArrayCtor](./rc-js-util.tfullsettypedarrayctor.md)<!-- -->, Function&gt; </td><td> </td></tr> <tr><td> [f32](./rc-js-util.mat3.f32.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Float32Array&gt; </td><td> </td></tr> <tr><td> [f64](./rc-js-util.mat3.f64.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Float64Array&gt; </td><td> </td></tr> <tr><td> [i16](./rc-js-util.mat3.i16.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Int16Array&gt; </td><td> </td></tr> <tr><td> [i32](./rc-js-util.mat3.i32.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Int32Array&gt; </td><td> </td></tr> <tr><td> [i64](./rc-js-util.mat3.i64.md) </td><td> `static` </td><td> null </td><td> </td></tr> <tr><td> [i8](./rc-js-util.mat3.i8.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Int8Array&gt; </td><td> </td></tr> <tr><td> [TTypeGuardMat3](./rc-js-util.mat3.ttypeguardmat3.md) </td><td> `protected` </td><td> true </td><td> </td></tr> <tr><td> [u16](./rc-js-util.mat3.u16.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Uint16Array&gt; </td><td> </td></tr> <tr><td> [u32](./rc-js-util.mat3.u32.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Uint32Array&gt; </td><td> </td></tr> <tr><td> [u64](./rc-js-util.mat3.u64.md) </td><td> `static` </td><td> null </td><td> </td></tr> <tr><td> [u8](./rc-js-util.mat3.u8.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Uint8Array&gt; </td><td> </td></tr> <tr><td> [u8c](./rc-js-util.mat3.u8c.md) </td><td> `static` </td><td> [IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- -->&lt;Uint8ClampedArray&gt; </td><td> </td></tr> </tbody></table> ## Methods <table><thead><tr><th> Method </th><th> Modifiers </th><th> Description </th></tr></thead> <tbody><tr><td> [castToBaseType()](./rc-js-util.mat3.casttobasetype.md) </td><td> </td><td> Although the typed array tuples extend a typed array, they are not structurally compatible. This function returns the argument passed without modification but cast as the underlying storage type, e.g. Float32Array. </td></tr> <tr><td> [copyFromBuffer(\_memoryDataView, \_pointer, \_littleEndian)](./rc-js-util.mat3.copyfrombuffer.md) </td><td> </td><td> If endianness is not supplied the platform's endianness will be used. </td></tr> <tr><td> [copyToBuffer(\_memoryDataView, \_pointer, \_littleEndian)](./rc-js-util.mat3.copytobuffer.md) </td><td> </td><td> If endianness is not supplied the platform's endianness will be used. </td></tr> <tr><td> [getCtor(ctor)](./rc-js-util.mat3.getctor.md) </td><td> `static` </td><td> </td></tr> <tr><td> [getLoggableValue()](./rc-js-util.mat3.getloggablevalue.md) </td><td> </td><td> </td></tr> <tr><td> [getRow(\_row, \_writeTo)](./rc-js-util.mat3.getrow.md) </td><td> </td><td> </td></tr> <tr><td> [getTransformedXLength(\_min, \_max)](./rc-js-util.mat3.gettransformedxlength.md) </td><td> </td><td> Apply this transform as if it were x in a vec3 to both min and max, return the difference. </td></tr> <tr><td> [getTransformedYLength(\_min, \_max)](./rc-js-util.mat3.gettransformedylength.md) </td><td> </td><td> Apply this transform as if it were y in a vec3 to both min and max, return the difference. </td></tr> <tr><td> [getValueAt(\_column, \_row)](./rc-js-util.mat3.getvalueat.md) </td><td> </td><td> </td></tr> <tr><td> [getVec3MultiplyX(\_x)](./rc-js-util.mat3.getvec3multiplyx.md) </td><td> </td><td> </td></tr> <tr><td> [getVec3MultiplyY(\_y)](./rc-js-util.mat3.getvec3multiplyy.md) </td><td> </td><td> </td></tr> <tr><td> [isEqualTo(\_other)](./rc-js-util.mat3.isequalto.md) </td><td> </td><td> Component-wise equals. </td></tr> <tr><td> [multiplyMat3(\_mat, \_result)](./rc-js-util.mat3.multiplymat3.md) </td><td> </td><td> </td></tr> <tr><td> [scalarAdd(\_value, \_result)](./rc-js-util.mat3.scalaradd.md) </td><td> </td><td> </td></tr> <tr><td> [scalarMultiply(\_value, \_result)](./rc-js-util.mat3.scalarmultiply.md) </td><td> </td><td> </td></tr> <tr><td> [setIdentityMatrix()](./rc-js-util.mat3.setidentitymatrix.md) </td><td> </td><td> </td></tr> <tr><td> [setRotationMatrix(\_angle)](./rc-js-util.mat3.setrotationmatrix.md) </td><td> </td><td> counter clockwise, in radians </td></tr> <tr><td> [setRow(\_row, \_writeFrom)](./rc-js-util.mat3.setrow.md) </td><td> </td><td> </td></tr> <tr><td> [setScalingMatrix(\_scalingFactorX, \_scalingFactorY)](./rc-js-util.mat3.setscalingmatrix.md) </td><td> </td><td> </td></tr> <tr><td> [setTranslationMatrix(\_translationX, \_translationY)](./rc-js-util.mat3.settranslationmatrix.md) </td><td> </td><td> </td></tr> <tr><td> [setValueAt(\_column, \_row, \_value)](./rc-js-util.mat3.setvalueat.md) </td><td> </td><td> </td></tr> </tbody></table>