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.
30 lines (23 loc) • 818 B
text/typescript
import {IUiConfigContainer} from 'uiconfig.js'
import {Camera, EventDispatcher, Object3D, Vector3} from 'three'
export interface ICameraControlsEventMap {
change: object
}
export interface ICameraControls<TE extends ICameraControlsEventMap = ICameraControlsEventMap> extends IUiConfigContainer<void, 'panel'|'folder'>, EventDispatcher<TE> {
object: Object3D
enabled: boolean
domElement?: HTMLElement | Document;
dispose(): void
update(): void
// optional items
target?: Vector3
autoRotate?: boolean
minDistance?: number
maxDistance?: number
minZoom?: number
maxZoom?: number
enableDamping?: boolean
enableZoom?: boolean
enableRotate?: boolean
}
export type TControlsCtor = (camera: Camera, domElement?: HTMLCanvasElement|Document)=>ICameraControls