three-trackballcontrols-ts
Version:
ThreeJS Trackball Controls as a standalone and typescript compatible npm module
60 lines (59 loc) • 1.66 kB
TypeScript
import * as THREE from 'three';
export declare class TrackballControls extends THREE.EventDispatcher {
camera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
domElement: HTMLElement;
window: Window;
enabled: boolean;
screen: any;
rotateSpeed: number;
zoomSpeed: number;
panSpeed: number;
noRotate: boolean;
noZoom: boolean;
noPan: boolean;
staticMoving: boolean;
dynamicDampingFactor: number;
minDistance: number;
maxDistance: number;
keys: number[];
mouseButtons: any;
target: THREE.Vector3;
private _state;
private _keyState;
private _eye;
private _movePrev;
private _moveCurr;
private _lastAxis;
private _lastAngle;
private _zoomStart;
private _zoomEnd;
private _touchZoomDistanceStart;
private _touchZoomDistanceEnd;
private _panStart;
private _panEnd;
private target0;
private position0;
private up0;
private zoom0;
private keydown;
private keyup;
private mousedown;
private mouseup;
private mousemove;
private mousewheel;
private touchstart;
private touchmove;
private touchend;
private contextmenu;
constructor(camera: THREE.PerspectiveCamera | THREE.OrthographicCamera, domElement: HTMLElement, domWindow?: Window);
dispose(): void;
handleResize(): void;
getMouseOnScreen: (pageX: number, pageY: number) => THREE.Vector2;
getMouseOnCircle: (pageX: number, pageY: number) => THREE.Vector2;
rotateCamera: () => void;
zoomCamera: () => void;
panCamera: () => void;
checkDistances(): void;
update(): void;
reset(): void;
}