@realsee/dnalogel
Version:
41 lines (40 loc) • 1.17 kB
TypeScript
import type { Five } from '@realsee/five';
import CruiseController from './BaseController';
import type { PluginState } from './typing';
import type { PartialDeep } from 'type-fest';
import type * as THREE from 'three';
type Data = {
path: THREE.CurvePath<THREE.Vector3>;
offset?: Partial<{
x: number;
y: number;
z: number;
}>;
};
export type Config = {
offset?: Partial<{
x: number;
y: number;
z: number;
}>;
allowBroke?: boolean;
};
export default class MoveController extends CruiseController<Data, Config> {
private curve;
private baseCurveOffset;
private curveOffset;
private playStartedTime;
private duration;
constructor(five: Five, config?: Config);
load(data: Data, state?: PartialDeep<PluginState>): Promise<void>;
changeSpeed: (speed: number, userAction?: boolean) => void;
moveToStart: () => void;
playFromStart: () => void;
protected getDuration: () => number;
protected getProgress: () => number;
protected handlePlay(): Promise<string>;
protected handlePause(options?: {
userAction?: boolean;
}): void;
}
export {};