Class MutableVector2_<T>Internal

Base class for mutable 2D vectors with generic typed array support. Provides mutable operations for vector manipulation that modify the vector in place.

Type Parameters

Hierarchy (view full)

Constructors

Properties

_v: TypedArray = ...

Internal typed array storage for vector components

Accessors

  • get bytesPerComponent(): number
  • Gets the number of bytes per component in the underlying typed array.

    Returns number

    The number of bytes per element

  • get className(): string
  • Gets the class name of this vector instance.

    Returns string

    The constructor name of the class

  • get glslStrAsFloat(): string
  • Converts the vector to a GLSL vec2 string representation with float precision.

    Returns string

    GLSL-compatible vec2 string

  • get glslStrAsInt(): string
  • Converts the vector to a GLSL ivec2 string representation with integer precision.

    Returns string

    GLSL-compatible ivec2 string

  • get wgslStrAsFloat(): string
  • Converts the vector to a WGSL vec2f string representation with float precision.

    Returns string

    WGSL-compatible vec2f string

  • get wgslStrAsInt(): string
  • Converts the vector to a WGSL vec2i string representation with integer precision.

    Returns string

    WGSL-compatible vec2i string

  • get compositionType(): CompositionTypeClass<"VEC2">
  • Gets the composition type of this vector.

    Returns CompositionTypeClass<"VEC2">

    The composition type (Vec2)

Methods

  • Gets the component at the specified index.

    Parameters

    • i: number

      The index (0 for x, 1 for y)

    Returns number

    The component value at the specified index

  • Checks if this vector is approximately equal to another vector within a tolerance.

    Parameters

    • vec: IVector2

      The vector to compare with

    • delta: number = Number.EPSILON

      The tolerance value (default: Number.EPSILON)

    Returns boolean

    True if vectors are approximately equal, false otherwise

  • Checks if this vector is strictly equal to another vector (exact comparison).

    Parameters

    • vec: IVector2

      The vector to compare with

    Returns boolean

    True if vectors are exactly equal, false otherwise

  • Checks if the internal storage shares the same ArrayBuffer as the provided one. Useful for determining if vectors share underlying memory.

    Parameters

    • arrayBuffer: ArrayBuffer

      The ArrayBuffer to compare against

    Returns boolean

    True if the same ArrayBuffer is used, false otherwise

  • Calculates the squared length of the vector. This is more efficient than calculating the actual length when only comparison is needed.

    Returns number

    The squared length of the vector

  • Gets the component value at the specified index. Alias for the at() method for convenience.

    Parameters

    • i: number

      The index of the component to retrieve

    Returns number

    The component value at the given index

  • Calculates the dot product of two vectors (static version).

    Parameters

    Returns number

    The dot product of the two vectors

  • Calculates the squared length of a vector (static version). This is more efficient than calculating the actual length when only comparison is needed.

    Parameters

    • vec: IVector2

      The vector to calculate squared length for

    Returns number

    The squared length of the vector