threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
65 lines • 2.08 kB
TypeScript
import { EventDispatcher, Quaternion, Vector3 } from 'three';
import { IUiConfigContainer, UiObjectConfig } from 'uiconfig.js';
import { ICamera } from '../ICamera';
export interface ICameraView extends IUiConfigContainer {
name: string;
position: Vector3;
target: Vector3;
quaternion: Quaternion;
zoom: number;
duration?: number;
isWorldSpace?: boolean;
animate?(camera?: ICamera, duration?: number): void;
set?(camera?: ICamera): void;
update?(camera?: ICamera): void;
delete?(camera?: ICamera): void;
setDirty?: (ops?: any) => void;
}
export interface CameraViewEventMap {
setView: {
camera?: ICamera;
view: ICameraView;
};
animateView: {
camera?: ICamera;
duration?: number;
view: ICameraView;
};
updateView: {
camera?: ICamera;
view: ICameraView;
};
deleteView: {
camera?: ICamera;
view: ICameraView;
};
update: {
key?: string;
};
}
export declare class CameraView extends EventDispatcher<CameraViewEventMap> implements ICameraView, IUiConfigContainer {
uuid: string;
name: string;
position: Vector3;
target: Vector3;
quaternion: Quaternion;
zoom: number;
/**
* Duration multiplier. Set to 0 for instant camera jump.
*/
duration: number;
isWorldSpace: boolean;
set: (camera?: ICamera) => void;
update: (camera?: ICamera) => void;
delete: (camera?: ICamera) => void;
animate: (camera?: ICamera, duration?: number) => void;
constructor(name?: string, position?: Vector3, target?: Vector3, quaternion?: Quaternion, zoom?: number, duration?: number, isWoldSpace?: boolean);
setDirty: (ops?: any) => void;
clone(): CameraView;
uiConfig?: UiObjectConfig;
}
export declare function createCameraPath(views: CameraView[]): {
getPosition: (t: number, viewIndex: number, v?: Vector3) => Vector3;
getTarget: (t: number, viewIndex: number, v?: Vector3) => Vector3;
};
//# sourceMappingURL=../../src/core/camera/CameraView.d.ts.map