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
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [rc-js-util](./rc-js-util.md) > [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)<!-- --><9, TArray>
## 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)<!-- --><TArray>
</td><td>
</td></tr>
<tr><td>
[constructors](./rc-js-util.mat3.constructors.md)
</td><td>
`protected`
`static`
</td><td>
Map<import("../t-typed-array-ctor.js").[TFullSetTypedArrayCtor](./rc-js-util.tfullsettypedarrayctor.md)<!-- -->, Function>
</td><td>
</td></tr>
<tr><td>
[f32](./rc-js-util.mat3.f32.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Float32Array>
</td><td>
</td></tr>
<tr><td>
[f64](./rc-js-util.mat3.f64.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Float64Array>
</td><td>
</td></tr>
<tr><td>
[i16](./rc-js-util.mat3.i16.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Int16Array>
</td><td>
</td></tr>
<tr><td>
[i32](./rc-js-util.mat3.i32.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Int32Array>
</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)<!-- --><Int8Array>
</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)<!-- --><Uint16Array>
</td><td>
</td></tr>
<tr><td>
[u32](./rc-js-util.mat3.u32.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Uint32Array>
</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)<!-- --><Uint8Array>
</td><td>
</td></tr>
<tr><td>
[u8c](./rc-js-util.mat3.u8c.md)
</td><td>
`static`
</td><td>
[IMat3Ctor](./rc-js-util.imat3ctor.md)<!-- --><Uint8ClampedArray>
</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>