rhodonite
    Preparing search index...

    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 Summary)

    Implements

    Index

    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: number): 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 glslStrAsUint(): string

      Gets the scalar value as a GLSL-compatible unsigned integer string.

      Returns string

      The scalar value formatted as a GLSL unsigned integer literal with 'u' suffix

    • 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 wgslStrAsUint(): string

      Gets the scalar value as a WGSL-compatible unsigned integer string.

      Returns string

      The scalar value formatted as a WGSL unsigned integer literal with 'u' suffix

    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

    • 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 string | undefined

      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

    • Clears the specific time and uses the default time (0) for animation updates. When used with AnimationComponent, the time will be set via setTime() during animation processing.

      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