UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

79 lines (78 loc) 5 kB
/** * Creates a pan/zoom controls for a camera * * */ import { Camera } from 'three'; import { TypedCameraControlsEventNode } from './_BaseCameraControls'; import { NodeParamsConfig } from '../utils/params/ParamsConfig'; import { CameraControlsNodeType } from '../../poly/NodeContext'; import { PanZoomControls } from '../../../modules/core/controls/PanZoomControls'; export declare enum MouseControl { PAN = "pan", DOLLY = "dolly", NO_ACTION = "no action" } export declare const MOUSE_CONTROLS: MouseControl[]; declare class CameraPanZoomEventParamsConfig extends NodeParamsConfig { main: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; /** @param enable/disable */ enabled: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param toggle on to allow pan */ allowPan: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param minimum distance the cursor must travel before the camera is actually moved */ panThreshold: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param toggle on to allow zoom */ allowZoom: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param zoom speed */ zoomSpeed: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param zoom to cursor */ zoomToCursor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param minimum distance the cursor must travel before the camera starts zooming */ zoomThreshold: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param toggle on to have damping */ tdamping: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param damping value */ damping: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param toggle on to have the pan in screen space */ screenSpacePanning: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; limits: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; /** @param smallest distance the camera can go to the target (perspective cameras only) */ /** @param min zoom (orthographic cameras only) */ minZoom: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param max zoom (orthographic cameras only) */ maxZoom: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>; /** @param clamp position */ clampPosition: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>; /** @param min position */ positionMin: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; /** @param max position */ positionMax: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>; controls: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>; /** @param leftMouseButton */ leftMouseButton: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param leftMouseButton */ middleMouseButton: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param leftMouseButton */ rightMouseButton: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param 1 finger touch */ oneFingerTouch: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; /** @param 2 fingers touch */ twoFingersTouch: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>; } export declare class CameraPanZoomControlsEventNode extends TypedCameraControlsEventNode<CameraPanZoomEventParamsConfig> { paramsConfig: CameraPanZoomEventParamsConfig; static type(): CameraControlsNodeType; endEventName(): string; initializeNode(): void; private _controlsByElementId; private _firstControls; protected _createControls(camera: Camera, element: HTMLElement): PanZoomControls; createControlsInstance(camera: Camera, element: HTMLElement): Promise<PanZoomControls>; protected _bind_listeners_to_controls_instance(controls: PanZoomControls): void; setupControls(controls: PanZoomControls): void; updateRequired(): boolean; disposeControlsForHtmlElementId(html_element_id: string): void; private _updateCache; } export {};