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.

780 lines (332 loc) 8.43 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; [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)<!-- -->&lt;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.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)<!-- -->&lt;TArray&gt; </td><td> </td></tr> <tr><td> [constructors](./rc-js-util.range2d.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.range2d.f32.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Float32Array&gt; </td><td> </td></tr> <tr><td> [f64](./rc-js-util.range2d.f64.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Float64Array&gt; </td><td> </td></tr> <tr><td> [i16](./rc-js-util.range2d.i16.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Int16Array&gt; </td><td> </td></tr> <tr><td> [i32](./rc-js-util.range2d.i32.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Int32Array&gt; </td><td> </td></tr> <tr><td> [i8](./rc-js-util.range2d.i8.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Int8Array&gt; </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)<!-- -->&lt;Uint16Array&gt; </td><td> </td></tr> <tr><td> [u32](./rc-js-util.range2d.u32.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Uint32Array&gt; </td><td> </td></tr> <tr><td> [u8](./rc-js-util.range2d.u8.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.md)<!-- -->&lt;Uint8Array&gt; </td><td> </td></tr> <tr><td> [u8c](./rc-js-util.range2d.u8c.md) </td><td> `static` </td><td> [IRange2dCtor](./rc-js-util.irange2dctor.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> [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>