UNPKG

soonspacejs

Version:
95 lines (94 loc) 2.74 kB
import { Object3D, Vector3 } from 'three'; export type FreeControlsType = 'free'; export type OrbitControlsType = 'orbit'; export type ControlsType = FreeControlsType | OrbitControlsType; export interface FreeControlsOptions { type: FreeControlsType; enabled?: boolean; enabledMousePointInteractive?: boolean; fallbackInteractivePosition?: Vector3 | null; enableZoom?: boolean; zoomSpeed?: number; zoomMinDistance?: number; zoomMaxDistance?: number; zoomMinStepDistance?: number; zoomMaxStepDistance?: number; enableRotate?: boolean; enableRotateX?: boolean; enableRotateY?: boolean; rotateSpeed?: number; rotateTiltRange?: { max: number; min: number; }; enableAutoRotate?: boolean; autoRotateSpeed?: number; autoRotateClockwise?: boolean; enableOutOfScene?: boolean; unOffsetOfScene?: number; enablePan?: boolean; enablePanX?: boolean; enablePanY?: boolean; enablePanAxisX?: boolean; enablePanAxisY?: boolean; enablePanAxisZ?: boolean; panSpeed?: number; } export type FreeControlsProperties = Required<Omit<FreeControlsOptions, 'type'>>; export interface OrbitControlsOptions { type: OrbitControlsType; enableAutoRotate?: boolean; autoRotateSpeed?: number; dampingFactor?: number; enabled?: boolean; enableDamping?: boolean; enablePan?: boolean; enableRotate?: boolean; enableZoom?: boolean; maxAzimuthAngle?: number; maxDistance?: number; maxPolarAngle?: number; maxZoom?: number; minAzimuthAngle?: number; minDistance?: number; minPolarAngle?: number; minZoom?: number; panSpeed?: number; rotateSpeed?: number; screenSpacePanning?: boolean; target?: Vector3; zoomSpeed?: number; } export type OrbitControlsProperties = Required<Omit<OrbitControlsOptions, 'type'>>; export interface ControlsOptions { enabled?: boolean; minDistance?: number; maxDistance?: number; minZoom?: number; maxZoom?: number; minPolarAngle?: number; maxPolarAngle?: number; minAzimuthAngle?: number; maxAzimuthAngle?: number; boundaryFriction?: number; boundaryEnclosesCamera?: boolean; smoothTime?: number; draggingSmoothTime?: number; azimuthRotateSpeed?: number; polarRotateSpeed?: number; dollySpeed?: number; truckSpeed?: number; maxSpeed?: number; verticalDragToForward?: boolean; dollyToCursor?: boolean; dollyDragInverted?: boolean; interactiveArea?: DOMRect | { x: number; y: number; width: number; height: number; }; colliderMeshes?: Object3D[]; infinityDolly?: boolean; restThreshold?: number; }