polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
23 lines (22 loc) • 1.14 kB
TypeScript
import { Camera } from 'three/src/cameras/Camera';
import { TypedEventNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { BaseViewerType } from '../../viewers/_Base';
export interface CameraControls {
name?: string;
enabled: boolean;
dispose: () => void;
update: () => void;
addEventListener: (eventName: string, callback: () => void) => void;
removeEventListener: (eventName: string, callback: () => void) => void;
}
export declare abstract class TypedCameraControlsEventNode<K extends NodeParamsConfig> extends TypedEventNode<K> {
private _controls_by_viewer;
apply_controls(camera: Camera, viewer: BaseViewerType): Promise<CameraControls | undefined>;
controls_id(): string;
abstract update_required(): boolean;
abstract setup_controls(controls: CameraControls): void;
abstract dispose_controls_for_html_element_id(html_element_id: string): void;
abstract create_controls_instance(camera: Camera, element: HTMLElement): Promise<CameraControls>;
}
export declare type BaseCameraControlsEventNodeType = TypedCameraControlsEventNode<any>;