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.
53 lines • 1.8 kB
TypeScript
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { PickingPlugin } from './PickingPlugin';
import { JSUndoManager } from 'ts-browser-helpers';
import { Vector3 } from 'three';
/**
* PivotEditPlugin provides interactive pivot point (origin) editing for objects.
* Toggle "Edit Pivot" mode to show a translate-only gizmo at the object's pivot.
* Dragging moves only the pivot while the object mesh stays visually in place.
*
* Works alongside both TransformControlsPlugin and PivotControlsPlugin.
*
* @category Plugins - Interaction
*/
export declare class PivotEditPlugin extends AViewerPluginSync {
static readonly PluginType = "PivotEditPlugin";
dependencies: (typeof PickingPlugin)[];
enabled: boolean;
editPivot: boolean;
showPivotMarker: boolean;
markerScale: number;
markerColor: number;
constructor(enabled?: boolean);
toJSON: any;
private _pivotGizmo;
private _markerRoot;
private _markerWidget;
private _pivotMarker;
private _selectedObject;
undoManager?: JSUndoManager;
protected _viewerListeners: {
preFrame: () => void;
};
private _onKeyDown;
onAdded(viewer: ThreeViewer): void;
onRemove(viewer: ThreeViewer): void;
pivotToCenter(): void;
pivotToBottom(): void;
pivotToOrigin(): void;
pivotToPoint(point: Vector3): void;
private _applyPivot;
private _updateMarker;
private _onEditPivotChange;
private _attachGizmo;
private _detachGizmo;
private _destroyGizmo;
private _setTransformControlsEnabled;
private _onEnabledChange;
private _refreshAfterPivotChange;
private _onDirty;
private _onMarkerColorChange;
private _recordUndo;
}
//# sourceMappingURL=../../src/plugins/interaction/PivotEditPlugin.d.ts.map