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.
780 lines (332 loc) • 8.43 kB
Markdown
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [rc-js-util](./rc-js-util.md) > [Range2d](./rc-js-util.range2d.md)
## Range2d class
2x2 matrix representing a 2d range.
**Signature:**
```typescript
export declare abstract class Range2d<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.range2d._0_.md)
</td><td>
</td><td>
number
</td><td>
xMin
</td></tr>
<tr><td>
["1"](./rc-js-util.range2d._1_.md)
</td><td>
</td><td>
number
</td><td>
yMin
</td></tr>
<tr><td>
["2"](./rc-js-util.range2d._2_.md)
</td><td>
</td><td>
number
</td><td>
xMax
</td></tr>
<tr><td>
["3"](./rc-js-util.range2d._3_.md)
</td><td>
</td><td>
number
</td><td>
yMax
</td></tr>
<tr><td>
[constructor](./rc-js-util.range2d.constructor.md)
</td><td>
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><TArray>
</td><td>
</td></tr>
<tr><td>
[constructors](./rc-js-util.range2d.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.range2d.f32.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Float32Array>
</td><td>
</td></tr>
<tr><td>
[f64](./rc-js-util.range2d.f64.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Float64Array>
</td><td>
</td></tr>
<tr><td>
[i16](./rc-js-util.range2d.i16.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Int16Array>
</td><td>
</td></tr>
<tr><td>
[i32](./rc-js-util.range2d.i32.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Int32Array>
</td><td>
</td></tr>
<tr><td>
[i8](./rc-js-util.range2d.i8.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Int8Array>
</td><td>
</td></tr>
<tr><td>
[TTypeGuardRange2d](./rc-js-util.range2d.ttypeguardrange2d.md)
</td><td>
</td><td>
true
</td><td>
</td></tr>
<tr><td>
[u16](./rc-js-util.range2d.u16.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Uint16Array>
</td><td>
</td></tr>
<tr><td>
[u32](./rc-js-util.range2d.u32.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Uint32Array>
</td><td>
</td></tr>
<tr><td>
[u8](./rc-js-util.range2d.u8.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- --><Uint8Array>
</td><td>
</td></tr>
<tr><td>
[u8c](./rc-js-util.range2d.u8c.md)
</td><td>
`static`
</td><td>
[IRange2dCtor](./rc-js-util.irange2dctor.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>
[bound(\_boundTo)](./rc-js-util.range2d.bound.md)
</td><td>
</td><td>
Bound this range to the argument.
</td></tr>
<tr><td>
[castToBaseType()](./rc-js-util.range2d.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>
[containsRange(\_range)](./rc-js-util.range2d.containsrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[copyFromBuffer(\_memoryDataView, \_pointer, \_littleEndian)](./rc-js-util.range2d.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.range2d.copytobuffer.md)
</td><td>
</td><td>
If endianness is not supplied the platform's endianness will be used.
</td></tr>
<tr><td>
[doesRangeIntersect(\_range)](./rc-js-util.range2d.doesrangeintersect.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[ensureAABB()](./rc-js-util.range2d.ensureaabb.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[ensureMinRange(\_xMinRange, \_yMinRange)](./rc-js-util.range2d.ensureminrange.md)
</td><td>
</td><td>
Bound this range to be at least as large as the argument.
</td></tr>
<tr><td>
[extendRange(\_x, \_y, \_writeTo)](./rc-js-util.range2d.extendrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getCenter(\_result)](./rc-js-util.range2d.getcenter.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getCtor(ctor)](./rc-js-util.range2d.getctor.md)
</td><td>
`static`
</td><td>
</td></tr>
<tr><td>
[getRange(\_result)](./rc-js-util.range2d.getrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getRangeTransform(\_toRange, \_result)](./rc-js-util.range2d.getrangetransform.md)
</td><td>
</td><td>
Creates a transform matrix that maps values in this range onto `_toRange`<!-- -->.
</td></tr>
<tr><td>
[getXCenter()](./rc-js-util.range2d.getxcenter.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getXMax()](./rc-js-util.range2d.getxmax.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getXMaxAbs()](./rc-js-util.range2d.getxmaxabs.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getXMin()](./rc-js-util.range2d.getxmin.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getXRange()](./rc-js-util.range2d.getxrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getYCenter()](./rc-js-util.range2d.getycenter.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getYMax()](./rc-js-util.range2d.getymax.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getYMaxAbs()](./rc-js-util.range2d.getymaxabs.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getYMin()](./rc-js-util.range2d.getymin.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[getYRange()](./rc-js-util.range2d.getyrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[isPointInRange(\_point)](./rc-js-util.range2d.ispointinrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[mat3Multiply(\_mat, \_writeTo)](./rc-js-util.range2d.mat3multiply.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[scaleRelativeTo(\_scalingFactor, \_relativeTo, \_result)](./rc-js-util.range2d.scalerelativeto.md)
</td><td>
</td><td>
Scales the range relative to a point (may not be outside of the range).
</td></tr>
<tr><td>
[setXMax(\_value)](./rc-js-util.range2d.setxmax.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setXMin(\_value)](./rc-js-util.range2d.setxmin.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setYMax(\_value)](./rc-js-util.range2d.setymax.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[setYMin(\_value)](./rc-js-util.range2d.setymin.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[translateBy(\_dx, \_dy)](./rc-js-util.range2d.translateby.md)
</td><td>
</td><td>
Shifts the range by (dx, dy).
</td></tr>
<tr><td>
[unionRange(\_range, \_writeTo)](./rc-js-util.range2d.unionrange.md)
</td><td>
</td><td>
</td></tr>
<tr><td>
[update(\_args)](./rc-js-util.range2d.update.md)
</td><td>
</td><td>
</td></tr>
</tbody></table>