threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
43 lines • 1.71 kB
TypeScript
import { Object3D } from 'three';
import { Class } from 'ts-browser-helpers';
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { ObjectPicker, SelectionWidget } from '../../three';
import { IObject3D } from '../../core';
import { UiObjectConfig } from 'uiconfig.js';
export declare class PickingPlugin extends AViewerPluginSync<'selectedObjectChanged' | 'hoverObjectChanged' | 'hitObject'> {
enabled: boolean;
get picker(): ObjectPicker | undefined;
static readonly PluginType = "Picking";
static readonly OldPluginType = "PickingPlugin";
private _picker?;
private _widget?;
private _hoverWidget?;
private _pickUi;
get hoverEnabled(): boolean;
set hoverEnabled(v: boolean);
autoFocus: boolean;
autoFocusHover: boolean;
/**
* Note: this is for runtime use only, not serialized
*/
widgetEnabled: boolean;
protected _widgetEnabledChange(): void;
setDirty(): void;
constructor(selection?: Class<SelectionWidget> | undefined, pickUi?: boolean, autoFocus?: boolean);
getSelectedObject<T extends IObject3D = IObject3D>(): T | undefined;
setSelectedObject(object: IObject3D | undefined, focusCamera?: boolean): void;
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
dispose(): void;
private _mainCameraChange;
private _onSceneUpdate;
private _onObjectSelectEvent;
private _selectedObjectChanged;
private _hoverObjectChanged;
private _onObjectHit;
focusObject(selected?: Object3D): Promise<void>;
private _uiConfigChildren;
uiConfig: UiObjectConfig;
get widget(): SelectionWidget | undefined;
}
//# sourceMappingURL=PickingPlugin.d.ts.map