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.
64 lines • 2.37 kB
TypeScript
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { PickingPlugin } from './PickingPlugin';
import { JSUndoManager } from 'ts-browser-helpers';
import { TransformControls } from '../../three';
import { ICamera, IObject3D, IWidget } from '../../core';
import { Object3D } from 'three';
export declare class TransformControlsPlugin extends AViewerPluginSync {
static readonly PluginType = "TransformControlsPlugin";
enabled: boolean;
setDirty(): void;
constructor(enabled?: boolean);
toJSON: any;
dependencies: (typeof PickingPlugin)[];
transformControls: TransformControls2 | undefined;
protected _isInteracting: boolean;
protected _viewerListeners: {
postFrame: () => void;
};
private _transformState;
undoManager?: JSUndoManager;
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
private _mainCameraChange;
centerAllMeshes(): (() => void) | undefined;
}
export declare class TransformControls2 extends TransformControls implements IWidget, IObject3D {
isWidget: true;
assetType: "widget";
setDirty: any;
refreshUi: any;
lockProps: string[] | undefined;
object: IObject3D | undefined;
private _keyDownListener;
private _keyUpListener;
constructor(camera: ICamera, canvas: HTMLCanvasElement);
protected _savedSettings: any;
attach(object: Object3D): this;
detach(): this;
dispose(): void;
enabled: boolean;
mode: 'translate' | 'rotate' | 'scale';
translationSnap: number | null;
rotationSnap: number | null;
scaleSnap: number | null;
space: 'world' | 'local';
size: number;
showX: boolean;
showY: boolean;
showZ: boolean;
/**
* Get the threejs object
* @deprecated
*/
get modelObject(): this;
traverse: (callback: (object: IObject3D) => void) => void;
traverseVisible: (callback: (object: IObject3D) => void) => void;
traverseAncestors: (callback: (object: IObject3D) => void) => void;
getObjectById: (id: number) => IObject3D | undefined;
getObjectByName: (name: string) => IObject3D | undefined;
getObjectByProperty: (name: string, value: string) => IObject3D | undefined;
parent: IObject3D | null;
children: IObject3D[];
}
//# sourceMappingURL=../../src/plugins/interaction/TransformControlsPlugin.d.ts.map