UNPKG

molstar

Version:

A comprehensive macromolecular library.

75 lines (74 loc) 2.71 kB
/** * Copyright (c) 2018-2021 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> * @author David Sehnal <david.sehnal@gmail.com> * * This code has been modified from https://github.com/mrdoob/three.js/, * copyright (c) 2010-2018 three.js authors. MIT License */ import { Viewport } from '../camera/util'; import { InputObserver } from '../../mol-util/input/input-observer'; import { ParamDefinition as PD } from '../../mol-util/param-definition'; import { Camera } from '../camera'; import { Binding } from '../../mol-util/binding'; export declare const DefaultTrackballBindings: { dragRotate: Binding; dragRotateZ: Binding; dragPan: Binding; dragZoom: Binding; dragFocus: Binding; dragFocusZoom: Binding; scrollZoom: Binding; scrollFocus: Binding; scrollFocusZoom: Binding; }; export declare const TrackballControlsParams: { noScroll: PD.BooleanParam; rotateSpeed: PD.Numeric; zoomSpeed: PD.Numeric; panSpeed: PD.Numeric; spin: PD.BooleanParam; spinSpeed: PD.Numeric; staticMoving: PD.BooleanParam; dynamicDampingFactor: PD.Numeric; minDistance: PD.Numeric; maxDistance: PD.Numeric; gestureScaleFactor: PD.Numeric; maxWheelDelta: PD.Numeric; bindings: PD.Value<{ dragRotate: Binding; dragRotateZ: Binding; dragPan: Binding; dragZoom: Binding; dragFocus: Binding; dragFocusZoom: Binding; scrollZoom: Binding; scrollFocus: Binding; scrollFocusZoom: Binding; }>; /** * minDistance = minDistanceFactor * boundingSphere.radius + minDistancePadding * maxDistance = max(maxDistanceFactor * boundingSphere.radius, maxDistanceMin) */ autoAdjustMinMaxDistance: PD.Mapped<PD.NamedParams<PD.Normalize<unknown>, "off"> | PD.NamedParams<PD.Normalize<{ minDistanceFactor: number; minDistancePadding: number; maxDistanceFactor: number; maxDistanceMin: number; }>, "on">>; }; export declare type TrackballControlsProps = PD.Values<typeof TrackballControlsParams>; export { TrackballControls }; interface TrackballControls { viewport: Viewport; readonly props: Readonly<TrackballControlsProps>; setProps: (props: Partial<TrackballControlsProps>) => void; start: (t: number) => void; update: (t: number) => void; reset: () => void; dispose: () => void; } declare namespace TrackballControls { function create(input: InputObserver, camera: Camera, props?: Partial<TrackballControlsProps>): TrackballControls; }