@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
93 lines (92 loc) • 6.37 kB
TypeScript
import { Camera, Vector3 } from 'three';
import { TypedCameraControlsEventNode } from './_BaseCameraControls';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { CameraControlsNodeType } from '../../poly/NodeContext';
import { OrbitControls } from '../../../modules/core/controls/OrbitControls';
export { OrbitControls };
export declare enum MouseControl {
ROTATE = "rotate",
PAN = "pan",
DOLLY = "dolly"
}
export declare const MOUSE_CONTROLS: MouseControl[];
declare class CameraOrbitEventParamsConfig 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 toggle on to allow rotate */
allowRotate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @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 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>;
/** @param rotation speed */
rotateSpeed: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
limits: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
/** @param smallest distance the camera can go to the target (perspective cameras only) */
minDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param max distance the camera can go away the target (perspective cameras only) */
maxDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @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 toggle on to limit the azimuth (up-down) angle */
limitAzimuthAngle: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param azimuth angle range */
azimuthAngleRange: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
/** @param polar (left-right) angle range */
polarAngleRange: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
/** @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>;
misc: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
updateTargetEndMoveEnd: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param target position. This is updated automatically as the camera is controlled by user events */
target: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
}
export declare class CameraOrbitControlsEventNode extends TypedCameraControlsEventNode<CameraOrbitEventParamsConfig> {
paramsConfig: CameraOrbitEventParamsConfig;
static type(): CameraControlsNodeType;
endEventName(): string;
initializeNode(): void;
private _controlsByElementId;
private _firstControls;
protected _createControls(camera: Camera, element: HTMLElement): OrbitControls;
createControlsInstance(camera: Camera, element: HTMLElement): Promise<OrbitControls>;
protected _bind_listeners_to_controls_instance(controls: OrbitControls): void;
setupControls(controls: OrbitControls): void;
private _set_azimuth_angle;
updateRequired(): boolean;
private _on_controls_end;
static PARAM_CALLBACK_updateTarget(node: CameraOrbitControlsEventNode): void;
private _updateTarget;
target(target: Vector3): void;
setTarget(newTarget: Vector3): void;
disposeControlsForHtmlElementId(html_element_id: string): void;
private _updateCache;
}