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.
618 lines (264 loc) • 6.64 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [rc-js-util](./rc-js-util.md) > [Margin2d](./rc-js-util.margin2d.md)
## Margin2d class
2x2 matrix representing margins on a rectangle.
**Signature:**
```typescript
export declare abstract class Margin2d<TArray extends TTypedArray> extends Mat2<TArray>
```
**Extends:** [Mat2](./rc-js-util.mat2.md)<!-- --><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.margin2d._0_.md)
</td><td>
</td><td>
number
</td><td>
left
</td></tr>
<tr><td>
["1"](./rc-js-util.margin2d._1_.md)
</td><td>
</td><td>
number
</td><td>
bottom
</td></tr>
<tr><td>
["2"](./rc-js-util.margin2d._2_.md)
</td><td>
</td><td>
number
</td><td>
right
</td></tr>
<tr><td>
["3"](./rc-js-util.margin2d._3_.md)
</td><td>
</td><td>
number
</td><td>
top
</td></tr>
<tr><td>
[constructor](./rc-js-util.margin2d.constructor.md)
</td><td>
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><TArray>
</td><td>
</td></tr>
<tr><td>
[constructors](./rc-js-util.margin2d.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.margin2d.f32.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Float32Array>
</td><td>
</td></tr>
<tr><td>
[f64](./rc-js-util.margin2d.f64.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Float64Array>
</td><td>
</td></tr>
<tr><td>
[i16](./rc-js-util.margin2d.i16.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Int16Array>
</td><td>
</td></tr>
<tr><td>
[i32](./rc-js-util.margin2d.i32.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Int32Array>
</td><td>
</td></tr>
<tr><td>
[i64](./rc-js-util.margin2d.i64.md)
</td><td>
`static`
</td><td>
null
</td><td>
</td></tr>
<tr><td>
[i8](./rc-js-util.margin2d.i8.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Int8Array>
</td><td>
</td></tr>
<tr><td>
[TTypeGuardAMargin2d](./rc-js-util.margin2d.ttypeguardamargin2d.md)
</td><td>
</td><td>
true
</td><td>
</td></tr>
<tr><td>
[u16](./rc-js-util.margin2d.u16.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Uint16Array>
</td><td>
</td></tr>
<tr><td>
[u32](./rc-js-util.margin2d.u32.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Uint32Array>
</td><td>
</td></tr>
<tr><td>
[u64](./rc-js-util.margin2d.u64.md)
</td><td>
`static`
</td><td>
null
</td><td>
</td></tr>
<tr><td>
[u8](./rc-js-util.margin2d.u8.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.md)<!-- --><Uint8Array>
</td><td>
</td></tr>
<tr><td>
[u8c](./rc-js-util.margin2d.u8c.md)
</td><td>
`static`
</td><td>
[IMargin2dCtor](./rc-js-util.imargin2dctor.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.margin2d.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.margin2d.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.margin2d.copytobuffer.md)
</td><td>
</td><td>
If endianness is not supplied the platform's endianness will be used.
</td></tr>
<tr><td>
[getBottom()](./rc-js-util.margin2d.getbottom.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getCtor(ctor)](./rc-js-util.margin2d.getctor.md)
</td><td>
`static`
</td><td>
</td></tr>
<tr><td>
[getInnerRange(\_range, \_result)](./rc-js-util.margin2d.getinnerrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getLeft()](./rc-js-util.margin2d.getleft.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getRight()](./rc-js-util.margin2d.getright.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getTop()](./rc-js-util.margin2d.gettop.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[mat3TransformLength(\_mat, \_writeTo)](./rc-js-util.margin2d.mat3transformlength.md)
</td><td>
</td><td>
Applies `Mat3.getTransformedXLength` `Mat3.getTransformedYLength` with a minimum of 0 and a maximum of whatever the margin is.
</td></tr>
<tr><td>
[setBottom(\_value)](./rc-js-util.margin2d.setbottom.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setLeft(\_value)](./rc-js-util.margin2d.setleft.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setRight(\_value)](./rc-js-util.margin2d.setright.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setTop(\_value)](./rc-js-util.margin2d.settop.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[sumX()](./rc-js-util.margin2d.sumx.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[sumY()](./rc-js-util.margin2d.sumy.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[update(\_args)](./rc-js-util.margin2d.update.md)
</td><td>
</td><td>
</td></tr>
</tbody></table>