import { Camera, Entity, Pointer, Ray } from "@galacean/engine"; import { Group } from "./Group"; import { GizmoComponent } from "./Type"; export declare class RectControl extends GizmoComponent { private static _matrix0; private static _matrix1; private static _bounds; private static _vec30; private static _vec31; private static _vec32; private static _vec33; private _startPriority; private _axisName; private _mostSuitablePlane; private _middleEntity; private _pickRadius; private _lockPlane; private _cursorType; private _group; private _camera; private _bounds; private _tempBounds; private _tempMatrix; private _XoY; private _sideXoYLeft; private _sideXoYTop; private _sideXoYRight; private _sideXoYDown; private _vertexXoYLeftTop; private _vertexXoYRightTop; private _vertexXoYRightDown; private _vertexXoYLeftDown; private _planeXoY; private _centerXoY; private _centerXoYPick; private _XoZ; private _sideXoZLeft; private _sideXoZTop; private _sideXoZRight; private _sideXoZDown; private _vertexXoZLeftTop; private _vertexXoZRightTop; private _vertexXoZRightDown; private _vertexXoZLeftDown; private _planeXoZ; private _centerXoZ; private _centerXoZPick; private _YoZ; private _sideYoZLeft; private _sideYoZTop; private _sideYoZRight; private _sideYoZDown; private _vertexYoZLeftTop; private _vertexYoZRightTop; private _vertexYoZRightDown; private _vertexYoZLeftDown; private _planeYoZ; private _centerYoZ; private _centerYoZPick; private _cursorTempVec30; private _cursorTempVec31; private _tempLocalMatrix; private _startWorldMatrix; private _startWorldInvMatrix; private _startPivot; private _startPosition; private _curLocalPlane; private _startHitLocalPosition; private _curHitLocalPosition; private _fromMatrix; private _fromScale; private _tempAffineTranslate; private _tempAffineQuat; private _tempAffineScale; private _fixedLocalPoint; private _fixedWorldPoint; private _tempVec30; private _tempVec31; private _uiTransformInfoMap; private _mat0; private _mat1; private _mat2; private _mat3; private _mat4; constructor(entity: Entity); /** Get group when init gizmo. */ init(camera: Camera, group: Group): void; /** Called when pointer enters gizmo. */ onHoverStart(axisName: string): void; private _onHoverVertexStart; private _canMoveCenter; private _onHoverPlaneStart; private _onHoverRotateStart; private _onHoverCenterStart; private _onHoverSideStart; private _changeCursorByPoint; /** Called when pointer leaves gizmo. */ onHoverEnd(): void; /** Called when gizmo starts to move.*/ onMoveStart(ray: Ray, axisName: string): void; /** Called when gizmo is moving.*/ onMove(ray: Ray, pointer?: Pointer): void; /** Called when gizmo movement ends.*/ onMoveEnd(): void; /** Called when gizmo's transform is dirty.*/ onUpdate(isModified: boolean): void; /** Called when camera switch between ortho and perps.*/ onSwitch(isModified: boolean): void; /** Called when axis alpha needs to be modified.*/ onAlphaChange(axisName: string, value: number): void; /** * 当 Group 的 Matrix 发生改变的时候会重新计算包围盒 * @returns */ private _updateBounds; private _createSide; private _createVertex; private _createPlane; private _createCenter; private _createCenterPick; /** * 操作位置拖动,会改变 Transform 的 position(基于初始平面的双轴) * @param ray */ private _onMovePlane; /** * 操作旋转,会改变 Transform 的 rotate(基于初始平面的单轴) */ private _onMoveRotate; /** * 初始化: * - 操作平面的世界矩阵 * - 操作平面的世界逆矩阵 * - 操作平面的 plane 对象(局部) * - 起始点击位置(局部) */ private _onMoveStart; private _onMoveSide; private _isUITransform; /** * 操作顶点,会改变: * - Transform 的缩放(双轴) * - UITransform 的尺寸(双轴) */ private _onMoveVertex; private _onMoveVertexStart; private _onMoveSideStart; private _onMoveCenterStart; /** * 操作中心点,会改变 UITransform 的锚点和位置 */ private _onMoveCenter; private _getLocalBoundsByTransform; private _getLocalBoundsByRenderer; }