import { TooltipManager } from '../TooltipManager'; export declare enum EditMode { Rotate = "rotate", Move = "move", Scale = "scale", MoveHeight = "moveHeight", Empty = "" } export declare enum GLTFManageEventKey { Scale = "addScale", Rotate = "rotate", Translation = "translation", Remove = "removeById", Add = "add" } export declare class GLTFManage { primitives: Map; eventListener: Map; Cesium: any; viewer: any; handler: any; rotationRing: any; moveAxis: any; translationSquare: any; heightArrow: any; scaleHandle: any; scaleCenterProxy: any; editMode: EditMode; dragEndCallbackMap: Map; activeModelId: string; activeModelVisualState: Map; overlayContainer: HTMLDivElement | null; modeToolbarEl: HTMLDivElement | null; feedbackLabelEl: HTMLDivElement | null; overlayUpdateFn: any; feedbackAnchor: any; tooltipManager: TooltipManager | null; tooltipHideTimer: any; scaleCenterHintVisible: boolean; constructor(options: { Cesium: any; viewer: any; }); isSceneGadgetDebugEnabled(): boolean; debugLog(step: string, payload?: Record): void; getPickDebugId(hit: any): any; debugPickStack(screenPosition: any, mode: EditMode): void; showModeHint(text: string, duration?: number): void; showHoverModeHint(text: string): void; hideModeHint(): void; /** * @description: 初始化模型 * @param {Array} models 模型数据列表 * @return {*} */ init(models: Array, show?: boolean): void; get(id: string): any; /** * @description: 添加模型 * @param {*} info 模型信息 * @return {*} */ add(info: any, show?: boolean): Promise; flyTo(id: string): void; /** * @description: 根据模型的 ID 移除模型 * @param {string} id 模型的 ID * @return {*} */ removeById(id: string): void; show(id: string): void; hide(id: string): void; /** * @description: 修改模型的缩放因子 * @param {*} info 模型信息 * @param {number} num 缩放因子 * @return {*} */ addScale(info: any, num?: number): void; /** * @description: 修改模型的缩放因子 * @param {*} info 模型信息 * @param {number} num 缩放因子 * @return {*} */ setScale(id: any, scale?: number): void; setEditMode(mode: EditMode): void; normalizeScaleVector(scale?: any): any; getPrimitiveScale(primitive: any): { x: number; y: number; z: number; }; initializePrimitiveRuntimeState(primitive: any): void; getPrimitiveRuntimeRadius(primitive: any): number; cachePrimitiveUnitRadius(primitive: any, runtimeRadius?: number): number; getPrimitiveFallbackRadius(primitive: any): number; getPrimitiveEffectiveRadius(primitive: any): number; getPrimitiveWorldBoundingSphere(primitive: any): any; extractModelBaseMatrix(modelMatrix: any): any; composeModelMatrix(position: any, headingPitchRoll: any, scale?: any): any; applyScaleToPrimitive(primitive: any, scale: any, baseModelMatrix?: any): any; getGizmoModelMatrix(model: any): any; lockCamera(): void; unlockCamera(): void; toCartographic(cartesian: any): { longitude: any; latitude: any; }; calculateHeading(from: any, to: any): number; /** * @description: 获取模型的 Heading, Pitch, Roll * @param {any} modelMatrix 模型的变换矩阵 * @return {*} */ getModelHeadingPitchRoll(modelMatrix: any): any; /** * @description: 添加事件监听 * @param {string} key * @param {Function} f * @param {any} options * @return {*} */ addEventListener(key: string, f: Function, options?: any): { f: Function; options: any; }; /** * @description: 移除事件监听 * @param {string} key * @param {any} instantiation * @return {*} */ removeEventListener(key: string, instantiation: any): void; /** * @description: 执行监听 * @param {*} key * @param {any} parameter * @return {*} */ runEventListener(key: string, parameter: any): boolean; /** * @description: 初始化拖拽模型编辑功能(平移) * @return {*} */ initEditBox(getEditState: Function): void; activateEditById(id: string, mode?: EditMode): void; deactivateEdit(clearMode?: boolean): void; switchEditMode(mode: EditMode): void; refreshActiveToolGeometry(): void; highlightModel(model: any, active: boolean): void; clearActiveModelVisual(): void; initOverlay(): void; showModeToolbar(id: string): void; hideModeToolbar(): void; updateToolbarState(): void; updateOverlayPosition(): void; showFeedback(text: string, anchor?: any): void; hideFeedback(): void; toWindowCoordinates(position: any): any; createUnitBoxGeometry(): any; getGizmoAppearance(): any; getGizmoMetrics(model: any): { centerRadius: number; axisLength: number; arrowLength: number; arrowRadius: number; axisThickness: number; planeStart: number; planeEnd: number; planeThickness: number; rotationRadius: number; rotationThickness: number; scaleOffset: number; scaleHandleRadius: number; }; createSegmentInstance(id: string, start: any, end: any, thickness: number, color: any): any; createCenterInstance(id: string, radius: number, color: any): any; createCenterBoxInstance(id: string, size: number, color: any): any; getAxisVector(enuMatrix: any, axis: string): any; getRotationPlanePoint(plane: 'xy' | 'yz' | 'xz', radius: number, angleRad: number): any; getGizmoLocalBounds(model: any): any[]; getGizmoScreenBounds(model: any): any; writeDragEndPayload(modelId: string, key: GLTFManageEventKey, payload: any): void; applyTransformAroundCenter(startModelMatrix: any, center: any, transformMatrix: any): any; createMoveAxis(model: any): void; createRotationRing(model: any): void; createTranslationSquare(model: any): void; createHeightArrow(model: any): void; createScaleHandle(model: any): void; translate(geometry: any, offset: any): void; removeTool(): void; updatedTool(newModelMatrix: any): void; /** * @description: 平移模型 * @param {*} draggedModel * @param {*} startModelMatrix * @param {*} dragToolAxis * @return {*} */ moveModel(draggedModel: any, startModelMatrix: any, dragToolAxis: string, dragStartCenter: any, dragStartPoint: any, newPoint: any): void; /** * @description: 平移模型高度 * @param {*} draggedModel * @param {*} startModelMatrix * @param {*} movement * @return {*} */ moveModelHeight(draggedModel: any, startModelMatrix: any, movement: any, startBasePosition: any, startBaseUp: any, startBaseCartographic: any): void; projectVerticalPoint(screenPosition: any, base: any, up: any): any; /** * @description: 旋转模型 * @param {*} draggedModel * @param {*} startModelMatrix * @param {*} dragToolAxis * @return {*} */ rotateModel(draggedModel: any, startModelMatrix: any, dragToolAxis: string, dragStartCenter: any, dragVectorStart: any, newPoint: any): void; moveModelScale(draggedModel: any, startModelMatrix: any, dragToolAxis: string, dragStartCenter: any, startMousePosition: any, dragStartPoint: any, startScaleVector: any, currentMousePosition: any, newPoint: any): void; cleanup(): void; }