polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
63 lines (62 loc) • 4.46 kB
TypeScript
import { Camera } from 'three/src/cameras/Camera';
import { TypedCameraControlsEventNode } from './_BaseCameraControls';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { OrbitControls } from '../../../modules/core/controls/OrbitControls';
import { CameraControlsNodeType } from '../../poly/NodeContext';
declare class CameraOrbitEventParamsConfig extends NodeParamsConfig {
/** @param enable/disable */
enabled: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param toggle on to allow pan */
allowPan: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param toggle on to allow rotate */
allowRotate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param toggle on to allow zoom */
allowZoom: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param toggle on to have damping */
tdamping: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param damping value */
damping: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param toggle on to have the pan in screen space */
screenSpacePanning: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param rotation speed */
rotateSpeed: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param smallest distance the camera can go to the target */
minDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param max distance the camera can go away the target */
maxDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param toggle on to limit the azimuth (up-down) angle */
limitAzimuthAngle: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param azimuth angle range */
azimuthAngleRange: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR2>;
/** @param polar (left-right) angle range */
polarAngleRange: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR2>;
/** @param target position. This is updated automatically as the camera is controlled by user events */
target: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.VECTOR3>;
/** @param toggle on to enable keys */
enableKeys: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.BOOLEAN>;
/** @param key modes (pan or rotate) */
keysMode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.INTEGER>;
/** @param keys pan speed */
keysPanSpeed: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param keys rotate speed vertical */
keysRotateSpeedVertical: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
/** @param keys rotate speed horizontal */
keysRotateSpeedHorizontal: import("../utils/params/ParamsConfig").ParamTemplate<import("../../poly/ParamType").ParamType.FLOAT>;
}
export declare class CameraOrbitControlsEventNode extends TypedCameraControlsEventNode<CameraOrbitEventParamsConfig> {
params_config: CameraOrbitEventParamsConfig;
static type(): CameraControlsNodeType;
initializeNode(): void;
private _controls_by_element_id;
create_controls_instance(camera: Camera, element: HTMLElement): Promise<OrbitControls>;
protected _bind_listeners_to_controls_instance(controls: OrbitControls): void;
setup_controls(controls: OrbitControls): void;
private _set_azimuth_angle;
update_required(): boolean;
private _target_array;
private _on_controls_end;
static PARAM_CALLBACK_update_target(node: CameraOrbitControlsEventNode): void;
private _update_target;
dispose_controls_for_html_element_id(html_element_id: string): void;
}
export {};