@itwin/core-frontend
Version:
iTwin.js frontend components
80 lines • 4.54 kB
TypeScript
/** @packageDocumentation
* @module Tools
*/
import { BeDuration } from "@itwin/core-bentley";
import { Angle } from "@itwin/core-geometry";
/** Settings that control the behavior of built-in tools. Applications may modify these values.
* @public
* @extensions
*/
export declare class ToolSettings {
/** Two tap must be within this period to be a double tap. */
static doubleTapTimeout: BeDuration;
/** Two clicks must be within this period to be a double click. */
static doubleClickTimeout: BeDuration;
/** Number of screen inches of movement allowed between clicks to still qualify as a double-click. */
static doubleClickToleranceInches: number;
/** @beta Use virtual cursor to help with locating elements using touch input. By default it's only enabled for snapping. */
static enableVirtualCursorForLocate: boolean;
/** If true, view rotation tool keeps the up vector (worldZ) aligned with screenY. */
static preserveWorldUp: boolean;
/** Delay with a touch on the surface before a move operation begins. */
static touchMoveDelay: BeDuration;
/** Delay with the mouse down before a drag operation begins. */
static startDragDelay: BeDuration;
/** Distance in screen inches a touch point must move before being considered motion. */
static touchMoveDistanceInches: number;
/** Distance in screen inches the cursor must move before a drag operation begins. */
static startDragDistanceInches: number;
/** Distance in screen inches touch points must move apart to be considered a change in zoom scale. */
static touchZoomChangeThresholdInches: number;
/** Radius in screen inches to search for elements that anchor viewing operations. */
static viewToolPickRadiusInches: number;
/** Camera angle enforced for walk tool. */
static walkCameraAngle: Angle;
/** Whether the walk tool enforces worldZ be aligned with screenY */
static walkEnforceZUp: boolean;
/** Speed, in meters per second, for the walk tool. */
static walkVelocity: number;
/** @beta Integer increment used to compute a walkVelocity multiplier for the look and move tool, capped at 10x */
static walkVelocityChange: number;
/** Whether the walk tool requests pointer lock to hide the cursor for mouse look */
static walkRequestPointerLock: boolean;
/** @beta Whether the look and move tool detects collisions while moving forward */
static walkCollisions: boolean;
/** @beta Whether the look and move tool adjusts the camera height for stairs/ramps when collisions are enabled */
static walkDetectFloor: boolean;
/** @beta Maximum step height in meters above floor/ground to use when floor detection is enabled */
static walkStepHeight: number;
/** @beta Camera height in meters above floor/ground to use for set up walk tool */
static walkEyeHeight: number;
/** Scale factor applied for wheel events with "per-line" modifier. */
static wheelLineFactor: number;
/** Scale factor applied for wheel events with "per-page" modifier. */
static wheelPageFactor: number;
/** When the zoom-with-wheel tool (with camera enabled) gets closer than this distance to an obstacle, it "bumps" through. */
static wheelZoomBumpDistance: number;
/** the speed to scroll for the "scroll view" tool (distance per second). */
static scrollSpeed: number;
/** the speed to zoom for the "zoom view" tool. */
static zoomSpeed: number;
/** Scale factor for zooming with mouse wheel. */
static wheelZoomRatio: number;
/** Parameters for viewing operations with *inertia* (i.e. they continue briefly if used with a throwing action) */
static viewingInertia: {
/** Flag to enable inertia. */
enabled: boolean;
/** How quickly the inertia decays. The smaller the damping value the faster the inertia decays. Must be less than 1.0 */
damping: number;
/** Maximum duration of the inertia operation. Important when frame rates are low. */
duration: BeDuration;
};
/** Maximum number of times in a second the accuSnap tool's onMotion function is called. */
static maxOnMotionSnapCallPerSecond: number;
/** If true, drag box selection will accept spatial elements that are inside or overlap a clip volume instead of only what is visible in the view.
* @note Enabling is not recommended for web applications.
* @beta
*/
static enableVolumeSelection: boolean;
}
//# sourceMappingURL=ToolSettings.d.ts.map