UNPKG

lume

Version:

Build next-level interactive web applications.

57 lines 2.14 kB
import { Effects } from 'classy-solid'; import type { Element3D } from '../core/Element3D.js'; type Options = Partial<Pick<FlingRotation, 'rotationXTarget' | 'rotationYTarget' | 'interactionInitiator' | 'interactionContainer' | 'minFlingRotationX' | 'maxFlingRotationX' | 'minFlingRotationY' | 'maxFlingRotationY' | 'factor' | 'epsilon' | 'slowdownAmount'>>; export declare class FlingRotation extends Effects { #private; /** The object that will be rotated on Y. Required. */ rotationYTarget: Element3D; /** * The object that will be rotated on X. Defaults to the element inside the * rotationYTarget (it's like a gimball). */ rotationXTarget: Element3D; /** * The element on which the pointer should be placed down on in order to * initiate drag tracking. This defaults to rotationXTarget. */ interactionInitiator: Element; /** * The area in which drag tacking will happen. Defaults to * document.documentElement for tracking in the whole viewport. */ interactionContainer: Element; /** * The X rotation can not go below this value. Defaults to -90 which means * facing straight up. */ minFlingRotationX: number; /** * The X rotation can not go above this value. Defaults to 90 which means * facing straight down. */ maxFlingRotationX: number; /** * The Y rotation can not go below this value. Defaults to -Infinity which * means the camera can keep rotating laterally around the focus point * indefinitely. */ minFlingRotationY: number; /** * The Y rotation can not go below this value. Defaults to Infinity which * means the camera can keep rotating laterally around the focus point * indefinitely. */ maxFlingRotationY: number; factor: number; epsilon: number; /** * Portion of the change in rotation that is removed each frame to * cause slowdown. Between 0 and 1. */ slowdownAmount: number; constructor(options?: Options); start(): this; stop(): this; } export {}; //# sourceMappingURL=FlingRotation.d.ts.map