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.
110 lines • 3.15 kB
JavaScript
import { ATypedArrayTuple } from "../a-typed-array-tuple.js";
import { getMat3Ctor } from "./get-mat3-ctor.js";
import { populateTypedArrayConstructorMap } from "../../../runtime/rtti-interop.js";
/**
* @public
* Row major 3x3 matrix.
*
* @remarks
* See static properties for constructors. Instances are not an extension of this class, but of the static members.
*/
export class Mat3 extends ATypedArrayTuple {
static getCtor(ctor) {
return Mat3.constructors.get(ctor);
}
/**
* Component-wise equals.
*/
isEqualTo(_other) {
throw new Error();
}
setIdentityMatrix() {
throw new Error();
}
getValueAt(_column, _row) {
throw new Error();
}
setValueAt(_column, _row, _value) {
throw new Error();
}
getRow(_row, _writeTo) {
throw new Error();
}
setRow(_row, _writeFrom) {
throw new Error();
}
/**
* counter clockwise, in radians
*/
setRotationMatrix(_angle) {
throw new Error();
}
setScalingMatrix(_scalingFactorX, _scalingFactorY) {
throw new Error();
}
setTranslationMatrix(_translationX, _translationY) {
throw new Error();
}
scalarMultiply(_value, _result) {
throw new Error();
}
scalarAdd(_value, _result) {
throw new Error();
}
multiplyMat3(_mat, _result) {
throw new Error();
}
getVec3MultiplyX(_x) {
throw new Error();
}
getVec3MultiplyY(_y) {
throw new Error();
}
/**
* Apply this transform as if it were x in a vec3 to both min and max, return the difference.
*/
getTransformedXLength(_min, _max) {
throw new Error();
}
/**
* Apply this transform as if it were y in a vec3 to both min and max, return the difference.
*/
getTransformedYLength(_min, _max) {
throw new Error();
}
getLoggableValue() {
throw new Error();
}
/**
* If endianness is not supplied the platform's endianness will be used.
*/
copyFromBuffer(_memoryDataView, _pointer, _littleEndian) {
throw new Error();
}
/**
* If endianness is not supplied the platform's endianness will be used.
*/
copyToBuffer(_memoryDataView, _pointer, _littleEndian) {
throw new Error();
}
/**
* 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.
*/
castToBaseType() {
throw new Error();
}
}
Mat3.f64 = getMat3Ctor(Float64Array);
Mat3.f32 = getMat3Ctor(Float32Array);
Mat3.i64 = null; // not supported
Mat3.u64 = null; // not supported
Mat3.u32 = getMat3Ctor(Uint32Array);
Mat3.i32 = getMat3Ctor(Int32Array);
Mat3.u16 = getMat3Ctor(Uint16Array);
Mat3.i16 = getMat3Ctor(Int16Array);
Mat3.u8c = getMat3Ctor(Uint8ClampedArray);
Mat3.u8 = getMat3Ctor(Uint8Array);
Mat3.i8 = getMat3Ctor(Int8Array);
Mat3.constructors = populateTypedArrayConstructorMap(Mat3);
//# sourceMappingURL=mat3.js.map