threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
38 lines • 1.46 kB
TypeScript
import { UiObjectConfig } from 'uiconfig.js';
import { IObject3D, IWidget } from '../../core';
import { AViewerPluginSync, IViewerEvent, IViewerEventTypes, ThreeViewer } from '../../viewer';
import { PartialRecord } from '../../utils';
export interface IObject3DHelper<T extends IWidget = IWidget> {
Create: (o: IObject3D) => T;
Check: (o: IObject3D) => boolean;
}
/**
* Adds light and camera helpers/gizmos in the viewer.
* A helper is automatically created when any supported light or camera is added to the scene.
* @category Plugins
*/
export declare class Object3DWidgetsPlugin extends AViewerPluginSync {
enabled: boolean;
static readonly PluginType = "Object3DWidgetsPlugin";
helpers: IObject3DHelper[];
setDirty(): void;
toJSON: any;
inSceneRoot: boolean;
constructor(enabled?: boolean, inSceneRoot?: boolean);
private _widgetRoot;
private _modelRoot?;
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
refreshObject: (object?: IObject3D) => void;
protected _viewerListeners: PartialRecord<IViewerEventTypes, (e: IViewerEvent) => void>;
widgets: (IWidget)[];
private _widgetDisposed;
private _registerWidget;
private _unregisterWidget;
private _createWidget;
private _removeWidget;
private _objectAdd;
private _objectRemove;
uiConfig: UiObjectConfig;
}
//# sourceMappingURL=../../src/plugins/extras/Object3DWidgetsPlugin.d.ts.map