@react-vertex/orbit-camera
Version:
Orbit Camera and Controls for React Vertex
38 lines (37 loc) • 1.1 kB
TypeScript
import { vec3, mat4 } from 'gl-matrix';
declare type CameraListener = (c: OrbitCamera) => void;
declare type ListenerItem = {
listener: CameraListener;
id: CameraListener;
};
export declare class OrbitCamera {
projection: mat4;
view: mat4;
matrix: mat4;
constructor(fov: number, aspect: number, near?: number, far?: number);
position: vec3;
up: vec3;
right: vec3;
normal: vec3;
userRotate: boolean;
userRotateX: boolean;
userRotateY: boolean;
userDolly: boolean;
rotX: number;
rotY: number;
steps: number;
listeners: ListenerItem[];
setProjection(fov: number, aspect: number, near?: number, far?: number): void;
dolly(delta: number): void;
setPosition(position: vec3): void;
upRightNormal(): void;
setRotationX(rotX: number): void;
incRotationX(rotX: number): void;
setRotationY(rotY: number): void;
incRotationY(rotY: number): void;
addListener(func: CameraListener, wait?: number): void;
removeListener(func: CameraListener): void;
exportView(): mat4;
update(): void;
}
export {};