import { FreeCamera } from "./freeCamera"; import type { Scene } from "../scene"; import { Vector3 } from "../Maths/math.vector"; import "./Inputs/freeCameraDeviceOrientationInput"; import { Axis } from "../Maths/math.axis"; /** * This is a camera specifically designed to react to device orientation events such as a modern mobile device * being tilted forward or back and left or right. */ export declare class DeviceOrientationCamera extends FreeCamera { private _initialQuaternion; private _quaternionCache; private _tmpDragQuaternion; private _disablePointerInputWhenUsingDeviceOrientation; /** * Creates a new device orientation camera * @param name The name of the camera * @param position The start position camera * @param scene The scene the camera belongs to */ constructor(name: string, position: Vector3, scene?: Scene); /** * Gets or sets a boolean indicating that pointer input must be disabled on first orientation sensor update (Default: true) */ get disablePointerInputWhenUsingDeviceOrientation(): boolean; set disablePointerInputWhenUsingDeviceOrientation(value: boolean); private _dragFactor; /** * Enabled turning on the y axis when the orientation sensor is active * @param dragFactor the factor that controls the turn speed (default: 1/300) */ enableHorizontalDragging(dragFactor?: number): void; /** * Gets the current instance class name ("DeviceOrientationCamera"). * This helps avoiding instanceof at run time. * @returns the class name */ getClassName(): string; /** * @internal * Checks and applies the current values of the inputs to the camera. (Internal use only) */ _checkInputs(): void; /** * Reset the camera to its default orientation on the specified axis only. * @param axis The axis to reset */ resetToCurrentRotation(axis?: Axis): void; }