import { Camera, Entity, Layer, Script } from "@galacean/engine"; import { Group } from "./Group"; import { State } from "./enums/GizmoState"; /** * Gizmo controls, including translate, rotate, scale */ export declare class Gizmo extends Script { epsilon: number; private _initialized; private _isStarted; private _lastDistance; private _lastOrthoSize; private _lastIsOrtho; private _sceneCamera; private _layer; private _framebufferPicker; private _controlMap; private _currentControl; private _group; private _tempVec30; private _tempVec31; private _worldMat; private _tempRay; private _tempRay2; private _type; private _scalar; /** * initial scene camera & select group in gizmo */ init(camera: Camera, group: Group): void; /** * gizmo layer, default Layer31 * @return the layer for gizmo entity and gizmo's inner framebuffer picker * @remarks Layer duplicate warning, check whether this layer is taken */ get layer(): Layer; set layer(layer: Layer); /** * change gizmo type * @return current gizmo type - translate, or rotate, scale, null, all, default null */ get state(): State; set state(targetState: State); /** * change gizmo size * @return current gizmo size - min 0.01, default 1 */ get size(): number; set size(value: number); constructor(entity: Entity); onUpdate(): void; onLateUpdate(deltaTime: number): void; private _createGizmoControl; private _onGizmoHoverStart; private _onGizmoHoverEnd; private _triggerGizmoStart; private _triggerGizmoMove; private _triggerGizmoEnd; private _selectHandler; private _overHandler; private _traverseEntity; private _traverseControl; private _adjustAxisAlpha; private _getAlphaFactor; }