@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
79 lines (78 loc) • 5 kB
TypeScript
/**
* 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 {};