mirror of
https://github.com/pissang/claygl.git
synced 2026-01-18 16:22:29 +00:00
87 lines
1.8 KiB
TypeScript
87 lines
1.8 KiB
TypeScript
import { Node } from '../Node';
|
|
import { Vector3 } from '../math/Vector3';
|
|
import { Timeline } from '../Timeline';
|
|
import { Base } from '../core/Base';
|
|
|
|
interface IOrbitControlOption {
|
|
target?: Node;
|
|
domElement?: HTMLElement;
|
|
timeline?: Timeline;
|
|
|
|
minDistance?: number;
|
|
maxDistance?: number;
|
|
|
|
minAlpha?: number;
|
|
maxAlpha?: number;
|
|
|
|
minBeta?: number;
|
|
maxBeta?: number;
|
|
|
|
autoRotate?: boolean;
|
|
autoRotateAfterStill?: number;
|
|
autoRotateDirection?: 'cw'|'ccw';
|
|
autoRotateSpeed?: number;
|
|
|
|
damping?: number;
|
|
rotateSensitivity?: number;
|
|
zoomSensitivity?: number;
|
|
panSensitivity?: number;
|
|
}
|
|
|
|
export class OrbitControl extends Base {
|
|
|
|
constructor(option?: IOrbitControlOption);
|
|
|
|
target?: Node;
|
|
domElement?: HTMLElement;
|
|
timeline?: Timeline;
|
|
|
|
minDistance?: number;
|
|
maxDistance?: number;
|
|
|
|
minAlpha?: number;
|
|
maxAlpha?: number;
|
|
|
|
minBeta?: number;
|
|
maxBeta?: number;
|
|
|
|
autoRotateAfterStill?: number;
|
|
autoRotateDirection?: 'cw'|'ccw';
|
|
autoRotateSpeed?: number;
|
|
|
|
damping?: number;
|
|
rotateSensitivity?: number;
|
|
zoomSensitivity?: number;
|
|
panSensitivity?: number
|
|
|
|
init(): void;
|
|
|
|
dispose(): void;
|
|
|
|
getDistance(): number;
|
|
setDistance(distance: number): void;
|
|
|
|
getAlpha(): number;
|
|
setAlpha(alpha: number): void;
|
|
|
|
getBeta(): number;
|
|
setBeta(beta: number): void;
|
|
|
|
getCenter(): [number, number, number];
|
|
setCenter(center: [number, number, number]): void;
|
|
|
|
animateTo(opts: {
|
|
distance?: number;
|
|
alpha?: number;
|
|
beta?: number;
|
|
center?: [number, number, number];
|
|
duration?: number;
|
|
easing?: string|Function;
|
|
done?: () => void;
|
|
}): any;
|
|
|
|
stopAllAnimation(): void;
|
|
|
|
update(deltaTime: number): void;
|
|
}
|