import { mat4, vec2 } from 'gl-matrix'; import { CameraModifier } from './cameramodifier'; /** * Math for camera modification based on the first person metaphor. */ export declare class FirstPersonModifier extends CameraModifier { protected static readonly DEFAULT_SENSITIVITY = 0.0008; /** * Current rotation matrix. */ protected _rotation: mat4; /** @see {@link sensitivity} */ protected _sensitivity: number; /** * Initiate a new camera modification at a specific event position. * @param point - Position of the current event to start the modification at. */ initiate(point: vec2): void; /** * Update the ... .r.t. a specific event position. * @param point - Position of the current event used to update the yaw and pitch. */ process(point: vec2, movement?: vec2): void; /** * Actually applies the trackball rotation to the given camera. */ update(): void; /** * Rotational sensitivity. */ set sensitivity(sensitivity: number); get sensitivity(): number; }