123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- import type { _IAnimationState } from "./animation";
- import { Animation } from "./animation";
- import type { Animatable } from "./animatable";
- import type { Scene } from "../scene";
- /**
- * Defines a runtime animation
- */
- export declare class RuntimeAnimation {
- private _events;
- /**
- * The current frame of the runtime animation
- */
- private _currentFrame;
- /**
- * The animation used by the runtime animation
- */
- private _animation;
- /**
- * The target of the runtime animation
- */
- private _target;
- /**
- * The initiating animatable
- */
- private _host;
- /**
- * The original value of the runtime animation
- */
- private _originalValue;
- /**
- * The original blend value of the runtime animation
- */
- private _originalBlendValue;
- /**
- * The offsets cache of the runtime animation
- */
- private _offsetsCache;
- /**
- * The high limits cache of the runtime animation
- */
- private _highLimitsCache;
- /**
- * Specifies if the runtime animation has been stopped
- */
- private _stopped;
- /**
- * The blending factor of the runtime animation
- */
- private _blendingFactor;
- /**
- * The BabylonJS scene
- */
- private _scene;
- /**
- * The current value of the runtime animation
- */
- private _currentValue;
- /** @internal */
- _animationState: _IAnimationState;
- /**
- * The active target of the runtime animation
- */
- private _activeTargets;
- private _currentActiveTarget;
- private _directTarget;
- /**
- * The target path of the runtime animation
- */
- private _targetPath;
- /**
- * The weight of the runtime animation
- */
- private _weight;
- /**
- * The absolute frame offset of the runtime animation
- */
- private _absoluteFrameOffset;
- /**
- * The previous elapsed time (since start of animation) of the runtime animation
- */
- private _previousElapsedTime;
- private _yoyoDirection;
- /**
- * The previous absolute frame of the runtime animation (meaning, without taking into account the from/to values, only the elapsed time and the fps)
- */
- private _previousAbsoluteFrame;
- private _enableBlending;
- private _keys;
- private _minFrame;
- private _maxFrame;
- private _minValue;
- private _maxValue;
- private _targetIsArray;
- /**
- * Gets the current frame of the runtime animation
- */
- get currentFrame(): number;
- /**
- * Gets the weight of the runtime animation
- */
- get weight(): number;
- /**
- * Gets the current value of the runtime animation
- */
- get currentValue(): any;
- /**
- * Gets or sets the target path of the runtime animation
- */
- get targetPath(): string;
- /**
- * Gets the actual target of the runtime animation
- */
- get target(): any;
- /**
- * Gets the additive state of the runtime animation
- */
- get isAdditive(): boolean;
- /** @internal */
- _onLoop: () => void;
- /**
- * Create a new RuntimeAnimation object
- * @param target defines the target of the animation
- * @param animation defines the source animation object
- * @param scene defines the hosting scene
- * @param host defines the initiating Animatable
- */
- constructor(target: any, animation: Animation, scene: Scene, host: Animatable);
- private _preparePath;
- /**
- * Gets the animation from the runtime animation
- */
- get animation(): Animation;
- /**
- * Resets the runtime animation to the beginning
- * @param restoreOriginal defines whether to restore the target property to the original value
- */
- reset(restoreOriginal?: boolean): void;
- /**
- * Specifies if the runtime animation is stopped
- * @returns Boolean specifying if the runtime animation is stopped
- */
- isStopped(): boolean;
- /**
- * Disposes of the runtime animation
- */
- dispose(): void;
- /**
- * Apply the interpolated value to the target
- * @param currentValue defines the value computed by the animation
- * @param weight defines the weight to apply to this value (Defaults to 1.0)
- */
- setValue(currentValue: any, weight: number): void;
- private _getOriginalValues;
- private _setValue;
- /**
- * Gets the loop pmode of the runtime animation
- * @returns Loop Mode
- */
- private _getCorrectLoopMode;
- /**
- * Move the current animation to a given frame
- * @param frame defines the frame to move to
- */
- goToFrame(frame: number): void;
- /**
- * @internal Internal use only
- */
- _prepareForSpeedRatioChange(newSpeedRatio: number): void;
- /**
- * Execute the current animation
- * @param elapsedTimeSinceAnimationStart defines the elapsed time (in milliseconds) since the animation was started
- * @param from defines the lower frame of the animation range
- * @param to defines the upper frame of the animation range
- * @param loop defines if the current animation must loop
- * @param speedRatio defines the current speed ratio
- * @param weight defines the weight of the animation (default is -1 so no weight)
- * @returns a boolean indicating if the animation is running
- */
- animate(elapsedTimeSinceAnimationStart: number, from: number, to: number, loop: boolean, speedRatio: number, weight?: number): boolean;
- }
|