Class AnimatedScalar

A scalar value that can be animated using animation samplers. This class extends Scalar and implements both IScalar and IAnimatedValue interfaces. It supports blending between two animation tracks and can be configured to loop.

Hierarchy (view full)

Implements

Constructors

Properties

_v: TypedArray = ...

Internal typed array storage for vector components

isLoop: boolean = true

Whether the animation should loop when it reaches the end.

Accessors

  • get blendingRatio(): number
  • Gets the current blending ratio between animation tracks.

    Returns number

    The current blending ratio

  • set blendingRatio(value): void
  • Sets the blending ratio between the first and second animation tracks.

    Parameters

    • value: number

      The blending ratio (0.0 = first track only, 1.0 = second track only)

    Returns void

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

    Returns number

    The number of bytes per element

  • get glslStrAsFloat(): string
  • Gets the scalar value as a GLSL-compatible float string.

    Returns string

    The scalar value formatted as a GLSL float literal

  • get glslStrAsInt(): string
  • Gets the scalar value as a GLSL-compatible integer string.

    Returns string

    The scalar value formatted as a GLSL integer literal

  • get wgslStrAsFloat(): string
  • Gets the scalar value as a WGSL-compatible float string.

    Returns string

    The scalar value formatted as a WGSL float literal

  • get wgslStrAsInt(): string
  • Gets the scalar value as a WGSL-compatible integer string.

    Returns string

    The scalar value formatted as a WGSL integer literal

  • get compositionType(): CompositionTypeClass<"SCALAR">
  • Gets the composition type for scalar values.

    Returns CompositionTypeClass<"SCALAR">

    The scalar composition type

Methods

  • Gets the component value at the specified index.

    Parameters

    • i: number

      The index of the component to retrieve

    Returns number

    The component value at the given index

  • Deletes an animation sampler for the specified track name.

    Parameters

    • trackName: string

      The name of the animation track to delete

    Returns void

  • Calculates the dot product between this vector and another vector.

    Parameters

    • vec: IVector

      The vector to calculate dot product with

    Returns number

    The dot product result

    Error - Must be implemented by subclasses

  • Gets an array of all available animation track names.

    Returns string[]

    An array containing all animation track names

  • Gets the animation sampler for the specified track name.

    Parameters

    • trackName: string

      The name of the animation track

    Returns AnimationSampler

    The animation sampler for the specified track

    If the specified animation track is not found

  • Gets the name of the first active animation track.

    Returns string

    The name of the first active animation track

  • Gets the maximum end time from the input keyframes of the specified animation track.

    Parameters

    • trackName: string

      The name of the animation track

    Returns number

    The maximum end time of the animation track

    If the specified animation track is not found

  • Gets the minimum start time from the input keyframes of the specified animation track.

    Parameters

    • trackName: string

      The name of the animation track

    Returns number

    The minimum start time of the animation track

    If the specified animation track is not found

  • Returns the scalar value as an array of numbers.

    Returns number[]

    An array containing the scalar value

  • Gets the name of the second active animation track.

    Returns undefined | string

    The name of the second active animation track, or undefined if not set

  • Performs approximate equality comparison with another scalar within a tolerance.

    Parameters

    • scalar: Scalar_<Float32ArrayConstructor>

      The scalar to compare with

    • delta: number = Number.EPSILON

      The tolerance for comparison (default: Number.EPSILON)

    Returns boolean

    True if the scalars are equal within the specified tolerance

  • Performs strict equality comparison with another scalar. Uses exact floating-point comparison without tolerance.

    Parameters

    • scalar: Scalar_<Float32ArrayConstructor>

      The scalar to compare with

    Returns boolean

    True if the scalars 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

  • Sets or updates an animation sampler for the specified track name.

    Parameters

    • animationTrackName: string

      The name of the animation track

    • animationSampler: AnimationSampler

      The animation sampler to associate with the track

    Returns void

  • Sets the first active animation track by name.

    Parameters

    • animationTrackName: string

      The name of the animation track to set as the first active track

    Returns void

  • Sets the internal Float32Array and triggers an update.

    Parameters

    • array: Float32Array

      The new Float32Array to set

    Returns void

  • Sets the second active animation track by name for blending purposes.

    Parameters

    • animationTrackName: string

      The name of the animation track to set as the second active track

    Returns void

  • Sets a specific time for animation playback.

    Parameters

    • time: number

      The time value to set for animation sampling

    Returns void

  • Updates the animated scalar value based on the current time and active animation tracks. This method interpolates between keyframes and handles blending between two tracks if configured. The update is skipped if the time hasn't changed since the last update.

    Returns void

  • Switches to using global time from AnimationComponent instead of a specific time.

    Returns void

  • 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