UNPKG

threepipe

Version:

A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.

61 lines 2.59 kB
import { Event, EventDispatcher, Intersection, Raycaster, Vector2 } from 'three'; import { JSUndoManager } from 'ts-browser-helpers'; import { ICamera, IObject3D } from '../../core'; export declare class ObjectPicker extends EventDispatcher<Event, 'hoverObjectChanged' | 'selectedObjectChanged' | 'hitObject'> { private _firstHit; hoverEnabled: boolean; /** * Time threshold for a pointer click event */ static PointerClickMaxTime: number; /** * Distance threshold for a pointer click event */ static PointerClickMaxDistance: number; undoManager?: JSUndoManager; private _root; private _camera; private _mouseDownTime; private _mouseDownPos; private _mouseUpTime; private _time; selectionCondition: (o: IObject3D) => boolean; raycaster: Raycaster; mouse: Vector2; private _selected; private _hovering; cursorStyles: { default: string; down: string; }; domElement: HTMLElement; constructor(root: IObject3D, domElement: HTMLElement, camera: ICamera, selectionCondition?: (o: IObject3D) => boolean); dispose(): void; get camera(): ICamera<import('../../core').ICameraEvent, import('../../core').ICameraEventTypes>; set camera(value: ICamera<import('../../core').ICameraEvent, import('../../core').ICameraEventTypes>); get selectedObject(): IObject3D | null; set selectedObject(object: IObject3D | null); private _setSelected; get hoverObject(): IObject3D | null; set hoverObject(object: IObject3D | IObject3D[] | null); get time(): number; get isMouseDown(): boolean; get mouseDownDeltaTime(): number; private _onPointerMove; private _onPointerLeave; private _onPointerEnter; private _onPointerCancel; updateMouseFromEvent(event: PointerEvent): void; private _onPointerDown; private _onPointerUp; private _onPointerClick; checkIntersection(): { selectedObject: IObject3D<import('../../core').IObject3DEvent<import('../../core').IObject3DEventTypes>, import('../../core').IObject3DEventTypes>; intersect: Intersection<IObject3D<import('../../core').IObject3DEvent<import('../../core').IObject3DEventTypes>, import('../../core').IObject3DEventTypes>>; intersects: Intersection<IObject3D<import('../../core').IObject3DEvent<import('../../core').IObject3DEventTypes>, import('../../core').IObject3DEventTypes>>[]; mouse: import('three').Vector2Tuple; } | null; isHovering(): boolean; isSelected(): boolean; } //# sourceMappingURL=ObjectPicker.d.ts.map