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.

688 lines (294 loc) 7.32 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; [Vec2](./rc-js-util.vec2.md) ## Vec2 class Vector 2. **Signature:** ```typescript export declare abstract class Vec2<TArray extends TTypedArray> extends ATypedArrayTuple<2, TArray> ``` **Extends:** [ATypedArrayTuple](./rc-js-util.atypedarraytuple.md)<!-- -->&lt;2, 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.vec2._0_.md) </td><td> </td><td> number </td><td> x </td></tr> <tr><td> ["1"](./rc-js-util.vec2._1_.md) </td><td> </td><td> number </td><td> y </td></tr> <tr><td> [constructor](./rc-js-util.vec2.constructor.md) </td><td> </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;TArray&gt; </td><td> </td></tr> <tr><td> [constructors](./rc-js-util.vec2.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.vec2.f32.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Float32Array&gt; </td><td> </td></tr> <tr><td> [f64](./rc-js-util.vec2.f64.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Float64Array&gt; </td><td> </td></tr> <tr><td> [i16](./rc-js-util.vec2.i16.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Int16Array&gt; </td><td> </td></tr> <tr><td> [i32](./rc-js-util.vec2.i32.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Int32Array&gt; </td><td> </td></tr> <tr><td> [i64](./rc-js-util.vec2.i64.md) </td><td> `static` </td><td> null </td><td> </td></tr> <tr><td> [i8](./rc-js-util.vec2.i8.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Int8Array&gt; </td><td> </td></tr> <tr><td> [TTypeGuardVec2](./rc-js-util.vec2.ttypeguardvec2.md) </td><td> </td><td> true </td><td> </td></tr> <tr><td> [u16](./rc-js-util.vec2.u16.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Uint16Array&gt; </td><td> </td></tr> <tr><td> [u32](./rc-js-util.vec2.u32.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Uint32Array&gt; </td><td> </td></tr> <tr><td> [u64](./rc-js-util.vec2.u64.md) </td><td> `static` </td><td> null </td><td> </td></tr> <tr><td> [u8](./rc-js-util.vec2.u8.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.md)<!-- -->&lt;Uint8Array&gt; </td><td> </td></tr> <tr><td> [u8c](./rc-js-util.vec2.u8c.md) </td><td> `static` </td><td> [IVec2Ctor](./rc-js-util.ivec2ctor.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> [add(\_vec, \_result)](./rc-js-util.vec2.add.md) </td><td> </td><td> </td></tr> <tr><td> [bound2d(\_range)](./rc-js-util.vec2.bound2d.md) </td><td> </td><td> If this point is outside of the range, set that dimension to the extrema of the range. </td></tr> <tr><td> [castToBaseType()](./rc-js-util.vec2.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.vec2.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.vec2.copytobuffer.md) </td><td> </td><td> If endianness is not supplied the platform's endianness will be used. </td></tr> <tr><td> [dotProduct(\_vec)](./rc-js-util.vec2.dotproduct.md) </td><td> </td><td> </td></tr> <tr><td> [getCtor(ctor)](./rc-js-util.vec2.getctor.md) </td><td> `static` </td><td> </td></tr> <tr><td> [getLoggableValue()](./rc-js-util.vec2.getloggablevalue.md) </td><td> </td><td> </td></tr> <tr><td> [getMagnitude()](./rc-js-util.vec2.getmagnitude.md) </td><td> </td><td> </td></tr> <tr><td> [getMagnitudeSquared()](./rc-js-util.vec2.getmagnitudesquared.md) </td><td> </td><td> </td></tr> <tr><td> [getNormal(\_result)](./rc-js-util.vec2.getnormal.md) </td><td> </td><td> Returns the normal to this vector. </td></tr> <tr><td> [getX()](./rc-js-util.vec2.getx.md) </td><td> </td><td> </td></tr> <tr><td> [getY()](./rc-js-util.vec2.gety.md) </td><td> </td><td> </td></tr> <tr><td> [isEqualTo(\_other)](./rc-js-util.vec2.isequalto.md) </td><td> </td><td> Component-wise equals. </td></tr> <tr><td> [mat3Multiply(\_mat, \_result)](./rc-js-util.vec2.mat3multiply.md) </td><td> </td><td> </td></tr> <tr><td> [normalize(\_result)](./rc-js-util.vec2.normalize.md) </td><td> </td><td> Returns a unit vector in the direction of this vector. </td></tr> <tr><td> [scalarDivide(\_value, \_result)](./rc-js-util.vec2.scalardivide.md) </td><td> </td><td> </td></tr> <tr><td> [scalarMultiply(\_value, \_result)](./rc-js-util.vec2.scalarmultiply.md) </td><td> </td><td> </td></tr> <tr><td> [setX(\_x)](./rc-js-util.vec2.setx.md) </td><td> </td><td> </td></tr> <tr><td> [setY(\_y)](./rc-js-util.vec2.sety.md) </td><td> </td><td> </td></tr> <tr><td> [subtract(\_vec, \_result)](./rc-js-util.vec2.subtract.md) </td><td> </td><td> </td></tr> <tr><td> [translate2d(\_dx, \_dy)](./rc-js-util.vec2.translate2d.md) </td><td> </td><td> Shifts this position by the arguments. </td></tr> <tr><td> [update(\_x, \_y)](./rc-js-util.vec2.update.md) </td><td> </td><td> </td></tr> <tr><td> [vec2Divide(\_value, \_result)](./rc-js-util.vec2.vec2divide.md) </td><td> </td><td> Divide `this` by `_value`<!-- -->. </td></tr> <tr><td> [vec2Multiply(\_value, \_result)](./rc-js-util.vec2.vec2multiply.md) </td><td> </td><td> Multiply `this` by `_value`<!-- -->. </td></tr> </tbody></table>